转载自: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. fiddler笔记:Find Session窗口

    通过Edit菜单选项或CTRL+F打开Find Session窗口.其主要是用来搜索捕捉到的请求和响应. find 指定要搜索的文本 Options Search 支持的搜索选项:Requests a ...

  2. AOP与IOC区别

    Spring核心知识 Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Devel ...

  3. TPFanControl.ini

    TPFanControl.ini 64位系统安装目录分为两种 64位用:C:\Program Files 32位用:C:\Program Files (x86) 64位系统系统目录分为两种 64位用: ...

  4. iOS UIControl 事件的说明(转)

    在控件事件中,简单解释下下面几个事件. 说明:由于是在“iOS 模拟器”中测试的,所以不能用手指,只能用鼠标. 1)UIControlEventTouchDown 指鼠标左键按下(注:只是“按下”)的 ...

  5. UML中的类图

    模型 类 接口 关系 关联关系 描述了类的结构之间的关系.具有方向.名字.角色和多重性等信息.一般的关联关系语义较弱.也有两种语义较强,分别是聚合与组合 聚合 特殊关联关系,指明一个聚集(整体)和组成 ...

  6. JavaScript笔记(5)

    1.DOM操作 常用的DOM操作 document.getElementById(id); //返回指定id的元素,通用 document.getElementsByTagName(tagName); ...

  7. cookie 和session的关联关系

    session 1.1 数据存储,存服务器端, 浏览器解决http无状态问题的一种解决方案 登录,同一客户端访问服务端的时候,服务端都知道是这一个客户端 cookie 2.1 数据存储 , 存客户端 ...

  8. DX使用随笔--NavBarControl

    1. Item图标大小显示 需要先设置此Item所在Group的属性GroupStyle的值为LargeImageText.

  9. 《OpenCV图像处理编程实例》

    <OpenCV图像处理编程实例>例程复现 随书代码下载:http://www.broadview.com.cn/28573 总结+遇到的issue解决: 第一章 初识OpenCV 1.VS ...

  10. 11_Hive TransForm 案例

    1.需求:将Json格式的数据处理后插入新表中 数据文件如下:rating.json,文件格式:{"movie":"2858","rate" ...