转载自:https://nextfe.com/jetbrains-ide-shortcuts/

一个好的手艺人很熟悉他的工具。软件开发者也不例外。所以,在编程的过程中,值得了解一些键盘快捷键,以免因为点击菜单项而分散注意力,干扰编码的节奏。这篇文章会介绍 IntelliJ 的快捷键(译者注:绝大部分内容同样适用于其他 JetBrains IDE,包括前端开发常用的 WebStorm 和 Android 开发常用的 Android Studio)。尽管 IntelliJ 几乎所有功能都有快捷键,但成为一个高效的程序员并不需要知道所有快捷键。相反,这篇文章只会介绍我和同事日常使用的少量快捷键,掌握这些快捷键能使你成为一个更娴熟的软件开发者。

我把键盘快捷键分了一下组,方便阅读。以下 IntelliJ 快捷键基于默认的 Windows 配置,如果你使用不同的快捷键方案,请查看 IDE 帮助(Help -> Keymap Reference)了解相应的快捷键。(译者注:由于不少开发者使用 macOS 操作系统,因此附注了 macOS 方案对应的快捷键)。

导航快捷键

Ctrl + Tab(^ Tab) —— 切换标签页
快速切换打开的文件。按住 Ctrl 键不释放时可以在打开文件列表中逐个移动,释放时会切换到相应文件。

Ctrl + E(⌘ E) —— 查看最近文件
列出最近访问的文件。

Ctrl + B (⌘ B) —— 跳转到声明/实现
在某一方法处按此快捷键,会跳转到该方法的声明处,例如,对应的接口。相反,按下 Ctrl + Alt + B(⌘ ⌥ B)不会跳转到接口,而是跳转到接口的实现,很多时候这能节省不少时间。

按两下 Shift(⇧⇧) —— 搜索任意内容
快速点按两下 shift,快速搜索项目中的任意内容,包括文件、行动、类在内的任意内容。

Ctrl + N (⌘ O) —— 查找类
如果已知需要查找的是类,那么就不必使用上面的搜索任意内容的快捷键。按下此快捷键后,开始输入类名。不必输入完整的类名,只需输入前面的部分,或者仅输入类名中的大写字母,还可以输入星号(*)表示通配符。

Ctrl + Shift + N (⌘ ⇧ O) —— 查找文件
需要查找文本文件或配置文件时,这个快捷键很方便。

Ctrl + Shift + T (⇧ ⌘ T) —— 跳转至测试
如果你对测试轻度上瘾,那么这个快捷键可以让你在测试和实现间快速跳转。当在测试处按此快捷键,会跳转至相应实现。反之,在实现处按此快捷键,则会跳转至相应测试。如果测试不存在,会根据你选择的测试框架,自动创建相应的测试类。

Ctrl + Alt + F7 (⌘ ⌥ F7) —— 显示用例
在弹出对话框中显示当前方法、类、变量的所有用例,让你可以迅速跳转。

Ctrl + F12 (⌘ F12) —— 结构视图
显示属性、方法列表,方便快捷地大致了解当前类的用途。

Ctrl + G (⌘ L) —— 跳转至行
有同事问你第 45 行的代码是做什么的时,这个方便的快捷键让你可以迅速跳转至相应代码。

F2 (F2) —— 跳转至报错/警告
IntelliJ 有报错或警告时(编辑区域右上角会显示一个小的状态图标),按下 F2 会跳转至下一处错误/警告。这个快捷键有助于你保持状态图标常绿。感谢 Anton Arhipov 提议加入这一快捷键。

编辑快捷键

除了导航,我们也希望能在编写代码时提速。以下快捷键有助于我们达成这一点。

Ctrl + W (⌥ Up) —— 扩展选择区域
这是我个人最常用的快捷键。不需要用鼠标选择文本了,只需跳转至代码中的某个元素,然后按下此快捷键。它会智能地扩展选择区域,从单词到语句,从语句到代码块,从代码块到方法,以此类推。在你想要提取方法时尤为便捷。Ctrl + Shift + W (⌥ Down)则会缩小选择区域。

Ctrl + Space (^ Space) —— 基本代码补全
必须掌握的快捷键,按下此快捷键后,会补全代码。在弹出补全菜单中选中补全项后,按 Enter 或 Tab 确认。通常情况下,按 Enter 或 Tab 效果一样,但当光标右侧有字符时,按 Enter 仅仅插入补全项,而按 Tab 会用补全项替换右侧字符。所以,善用 Tab 可以免去手工删除不再需要的字符的麻烦。

Alt + Enter (⌥ Enter) —— 显示意图
修正引入,运行测试,优化引入,等等。如果你的代码有问题,让这个快捷键来修复。如果你的代码没问题,这个快捷键能让你的代码变得更好。

Ctrl + Shift + Enter (⌘ ⇧ Enter) —— 补全语句
就我的经验而言,这是一个被严重低估的快捷键。少个括号?少了行尾的分号?不管光标是不是在行尾,按下此快捷键便可补全必要的字符。

Ctrl + D (⌘ D) —— 复制当前行
根据我的经验,还是有许多人使用鼠标选中当前行,复制,然后粘贴。相比之下,Ctrl + D (⌘ D)可以节约很多时间:按下之后就可以新增一行,内容和当前行一样。如果当前选中了多行,这个快捷键会重复整个代码块。

Ctrl + Y (⌘ ⌫) —— 删除当前行
类似 Ctrl + D (⌘ D),这个快捷键可以删除代码行。

Ctrl + / (⌘ /) —— 注释当前行
不管光标在当前行的什么位置,只需按下这个快捷键就可以注释掉当前行。我个人从不用这个快捷键注释代码,不过有时候我会用这个快捷键切换某段代码是否运行。不过,记得永远不要提交注释掉的代码。

重构快捷键

IntelliJ 的最大强项之一就是充裕到过剩的重构机会。尽管重构代码的机会很多,实践中 90% 的情况下,用到的重构快捷键是我下面列出的。

Ctrl + Alt + M (⌘ ⌥ M) —— 提取方法
选中一段代码(比如使用之前提到的 Ctrl + W / ⌥ Up 快捷键),接着按下 Ctrl + Alt + M (⌘ ⌥ M),便可将选中的代码提取为新方法或匿名函数表达式。

Shift + F6 (⇧ F6) —— 重命名
不管是方法、变量,还是类,按下 Shift + F6 (⇧ F6)便可将当前选中元素在所有代码中的用例一次性替换。不过要小心点,IntelliJ 的默认配置有点激进,同时也会替换文本中的用例,这常常不合你意。按下两次 Shift + F6 (⇧ F6)将提供重命名选项,让你可以定制设定。我建议只替换代码,关闭文本替换选项。

Ctrl + Alt + V (⌘ ⌥ V) —— 提取变量
同样,使用 Ctrl + W / ⌥ Up 选中一段代码,接着按下 Ctrl + Alt + V (⌘ ⌥ V),便可创建一个新变量,变量的类型常常是正确的,命名常常是合理的。将表达式传入方法或类时,赋值给一个变量常常可以增强可读性,此时这个快捷键很方便。

结语

IntelliJ 有超过 100 个快捷键,不过没有必要完全掌握。在 IntelliJ 使用效率提升之旅上,这些我和同事最常用的快捷键,应该能给你不小的优势。

一个额外的建议,安装 Key Promoter X 插件。当你使用鼠标和菜单项时,这个插件会提示相应的快捷键。学习高效使用 IntelliJ 快捷键时,这是一个很有帮助的工具。我漏掉了你最爱的快捷键?请留言告诉我。

JetBrains IDE 基本快捷键的更多相关文章

  1. webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器

    #webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...

  2. WebStorm + JetBrains IDE Support 实现自动刷新功能

    WebStorm 7.0 + live eidt + JetBrains IDE Support 实现自动刷新功能, WebStorm 7.0 已自带live eidt扩展 并可更改端口,WebSto ...

  3. WebStorm使用JetBrains IDE Support调试

    1.安装WebStorm 2.安装谷歌的chome浏览器,并切换到开发者模式 3.下载并安装 JetBrains IDE Support(将2.0.7_0.crx文件直接拖到谷歌浏览器中就会自动安装) ...

  4. 关闭jetbrains ide support 正在调试此浏览器提示

    1 安装JetBrains IDE Support插件 插件地址 2 启用插件 3 设置访问端口 4 WebStorm中设置Live Edit 5 关闭"JetBrains IDE Supp ...

  5. JetBrains IDE全新UI预览版来了,要做简洁与强大兼顾的IDE

    5月23日,JetBrains发布了一篇博文,透露他们正在实现一套全新的界面界面. 他们认为目前行业中的用户界面趋势已经发生了演变,很多新用户认为JetBrains IDE的界面过于笨重,而且过时.所 ...

  6. PHP IDE phpstorm 快捷键

    这篇文章主要介绍了PHP IDE phpstorm 常用快捷键,本文分别列出了mac系统和Windows系统下的phpstorm快捷键,需要的朋友可以参考下 一.mac电脑phpstorm快捷键 co ...

  7. 总结java IDE (eclipse)快捷键

    Eclipse快捷键 10个最有用的快捷键:Eclipse中10个最有用的快捷键组合:一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码 ...

  8. mac 下jetbrains IDE系列IDE主题

    1.直接粘贴导入 使用shift+command+g键进入: ~/Library/Preferences/ 在下边找到当前的IED(WebStrom.IdealIC.PyCharm) 然后在下边找到c ...

  9. Jetbrains IDE 中 compass sass 设置

    环境 Ubuntu 13.10 1. 安装ruby sudo apt-get install ruby 如果后面安装 compass 时遇到安装失败,提示:“[Ubuntu] ERROR: Faile ...

随机推荐

  1. 第11章:使用Python打造MySQL专家系统

    1.Python语言高级特性 1).深入浅出Python生成器 1).生成器函数:与普通函数定义类似,使用yield语句而不是return语句返回结果.yield语句一次返回一个结果,在每个结果中间挂 ...

  2. 【bitset】Kth Minimum Clique

    #include<bits/stdc++.h> #define B bitset<105> using namespace std; typedef long long ll ...

  3. golang glog

    原文链接:https://blog.csdn.net/u010857876/article/details/79094942 Flush log 产生后,会暂存在内存的buffer中.只有显示的调用 ...

  4. hdu 3364 高斯入门。。

    扣了一个高斯的介绍 比较全面(来自http://blog.csdn.net/duanxian0621/article/details/7408887) 高斯消元法,是线性代数中的一个算法,可用来求解线 ...

  5. shiro 权限过滤器 -------(1)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABBEAAAJRCAIAAACcEbhqAAAgAElEQVR4nO3dv67sVtkHYEefhIKUIC ...

  6. 【原创】大叔经验分享(79)mysql内存设置

    mysql内存设置,首先要知道当前的设置 MySQL [(none)]> show variables like '%buffer%'; +--------------------------- ...

  7. 启动tomcat提示某个端口被占用

    原文参见:https://www.cnblogs.com/liuyanxia/p/6755520.html 解决办法 找出占用1099端口的进程,进入windows命令,查看什么进程占用了1099端口 ...

  8. vue中使用svg字体图标

    1.在src/ 下面新建目录icons,里面新建文件夹svg,和文件index.js .svg用于存放从iconfont下载下来的svg格式的图标,index.js用于引入使用到svg文件和对应的组件 ...

  9. Python打

    .智能识别图片物体.这步是智能垃圾分类的魔法核心.原理是人工智能会根据打上标签的海量图片来识别新的图片所归属的分类标签.好奇的读者可能会问,我没学过深度学习啊?我也不会训练模型,怎么办? python ...

  10. Spring Cloud(一)服务的注册与发现(Eureka)

    Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策竞选.分布式会话和集 ...