转载自: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. 从用户在浏览器输入URL回车之后,浏览器都做了什么

    在直接列出执行的步骤之前先来普及几个知识,相信了解完这些知识之后会对前后端的交互有更深入的理解. 1.TCP连接 TCP:Transmission Control Protocol, 传输控制协议,是 ...

  2. Python基础『一』

    内置数据类型 数据名称 例子 数字: Bool,Complex,Float,Integer True/False; z=a+bj; 1.23; 123 字符串: String '123456' 元组: ...

  3. python3.5+installer 将.py 打包成.exe

    (1)下载安装installer,不如我安装在D:\Program Files\Python35,安装完成后,在D:\Program Files\Python35\Scripts可以找到install ...

  4. OPENCV运行的问题,自带的程序可以运行,但是自己制作的QT报错

    在PC上跑没问题 qmake 交叉编译后出来的文件 将OPCV和QT的镜像挂载后,在板子上运行程序, 能够出来这个界面,一点击按钮,提示如下错误. . 然而,百度网盘下载的代码.跟上面一样的操作,在板 ...

  5. java学习要想精炼掌握应运的必备知识(博文来源于网络)

    一: 编程基础 不管是C还是C++,不管是Java还是PHP,想成为一名合格的程序员,基本的数据结构和算法基础还是要有的.下面几篇文章从思想到实现,为你梳理出常用的数据结构和经典算法. 1-1 常用数 ...

  6. Eclipse中项目本身没有问题,可是工程名却有红色小叉叉解决办法

    右击项目“Properties”,在弹出的“Properties”的左侧边框,单击“Project Facets”,打开“Project Facets”页面, 在页面中“Java”下拉选项中,选择与自 ...

  7. System performance tools

    System performance tools ============ End

  8. 2.JVM、JRE、JDK之间的关系

    诠释一. JDK(java development kit) JDK是Java开发工具包,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库. JRE(java run ...

  9. 08 redis缓存穿透、缓存雪崩、缓存击穿

    Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面.但同时,它也带来了一些问题.其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解.如果对数据的一致性要求很 ...

  10. selenium 12306模拟登陆

    代码应用场景 :基于第三方打码网站模拟登陆12306 验证码识别 基于第三方平台超级鹰识别 超级鹰官网:http://www.chaojiying.com/user/ 超级鹰使用流程: 注册 登陆(用 ...