JetBrains IDE 基本快捷键
转载自: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 基本快捷键的更多相关文章
- webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器
#webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...
- WebStorm + JetBrains IDE Support 实现自动刷新功能
WebStorm 7.0 + live eidt + JetBrains IDE Support 实现自动刷新功能, WebStorm 7.0 已自带live eidt扩展 并可更改端口,WebSto ...
- WebStorm使用JetBrains IDE Support调试
1.安装WebStorm 2.安装谷歌的chome浏览器,并切换到开发者模式 3.下载并安装 JetBrains IDE Support(将2.0.7_0.crx文件直接拖到谷歌浏览器中就会自动安装) ...
- 关闭jetbrains ide support 正在调试此浏览器提示
1 安装JetBrains IDE Support插件 插件地址 2 启用插件 3 设置访问端口 4 WebStorm中设置Live Edit 5 关闭"JetBrains IDE Supp ...
- JetBrains IDE全新UI预览版来了,要做简洁与强大兼顾的IDE
5月23日,JetBrains发布了一篇博文,透露他们正在实现一套全新的界面界面. 他们认为目前行业中的用户界面趋势已经发生了演变,很多新用户认为JetBrains IDE的界面过于笨重,而且过时.所 ...
- PHP IDE phpstorm 快捷键
这篇文章主要介绍了PHP IDE phpstorm 常用快捷键,本文分别列出了mac系统和Windows系统下的phpstorm快捷键,需要的朋友可以参考下 一.mac电脑phpstorm快捷键 co ...
- 总结java IDE (eclipse)快捷键
Eclipse快捷键 10个最有用的快捷键:Eclipse中10个最有用的快捷键组合:一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码 ...
- mac 下jetbrains IDE系列IDE主题
1.直接粘贴导入 使用shift+command+g键进入: ~/Library/Preferences/ 在下边找到当前的IED(WebStrom.IdealIC.PyCharm) 然后在下边找到c ...
- Jetbrains IDE 中 compass sass 设置
环境 Ubuntu 13.10 1. 安装ruby sudo apt-get install ruby 如果后面安装 compass 时遇到安装失败,提示:“[Ubuntu] ERROR: Faile ...
随机推荐
- spark异常篇-OutOfMemory:GC overhead limit exceeded
执行如下代码时报错 # encoding:utf-8 from pyspark import SparkConf, SparkContext from pyspark.sql import Spark ...
- HeidiSQL 导入Excel数据
一 前言 原文出处:http://blog.csdn.net/qq_27727681/article/details/53944744 二 效果演示: 2000多条数据,顺利导入成功. 三 实现方法 ...
- 数据结构和算法总结(三):A* 寻路算法
前言 复习下寻路相关的东西,而且A star寻路在游戏开发中应用挺多的,故记录下. 正文 迪杰斯特拉算法 说起A*得先谈谈Dijkstra算法,它是在BFS基础上的一种带权值的两点最短寻路贪心算法. ...
- kafka常见问题
(1) 如果想消费已经被消费过的数据 consumer是底层采用的是一个阻塞队列,只要一有producer生产数据,那consumer就会将数据消费.当然这里会产生一个很严重的问题,如果你重启一消费 ...
- Api文档生成工具与Api文档的传播(pdf)
点击查看apidoc生成文档demo 1 环境和工具 win10 apidoc:注释生成api文档 wkhtmltopdf:apidoc生成的是html,不适合传播,于是通过wkhtmltopdf将h ...
- 处理python错误问题
------------恢复内容开始------------ 调试过程中遇到的问题 (1)爬取首页源码出现中文乱码 解决方案: 将网页编码强制转换成gbk,并去除解决乱码问题的三行代码. (2)程序运 ...
- Zookeeper 入门详解
zookeeper zookeeper是什么 Apache ZooKeeper是Apache软件基金会的一个软件项目,他为大型分布式计算提供开源的分布式配置服务.同步服务和命名注册.ZooKeeper ...
- c#如何使用MemoryStream和BinaryFormatter进行对象的序列化和返序列化
1 下面是我写的一个序列化的类 public static class ObjSerialize { /// <summary> /// 将对象数组obj序列化,内存中的缓冲区的数据序列化 ...
- python小知识-sys.argv
sys.argv 就是一个从程序外部获取参数的桥梁 1.t1.py import sys a = sys.argv b = len(sys.argv) print(a) print(b) 在pytho ...
- 4.AOP原理模拟
AOP Aspect-Oriented-Programming 面向切面编程 a)是对面向对象的思维方式的有力补充 好处:可以动态的添加和删除在切面上的逻辑而不影响原来的执行代码 a)Fil ...