IntelliJ IDEA 是一款致力于提供给开发工程师沉浸式编程体验的IDE工具,所以在其中提供了很多方便高效的快捷键,一旦熟练掌握,整个开发的效率和体验将大大提升。本文就按照笔者自己日常开发时的使用频率和体验,再结合各大技术社区的讨论,总结出一份 IntelliJ IDEA 快捷键的最佳指引。

智能提示

有过实际编程经验的读者都应该知道,任何一款 IDEA ,是否好用和受欢迎的第一要素就是其智能提示的准确性和快速性。所以,我们先看看 IntelliJ IDEA 中的代码智能提示功能。

Space 就是指空格键

功能 快捷键
基本的代码提示 Ctrl+Space
更智能的按照类型信息提示 Ctrl+Shift+Space
自动定位到代码错误提示处 F2 和 Shift+F2
快速自动修复错误代码 Alt+Enter
自动补全末尾的字符,包括行尾的反括号和分号 Ctrl+Shift+Enter

代码重构

有着实际编程经验的读者肯定或多多少地重构过别人或自己的旧代码,特别是在阅读了 《重构:改善既有代码的设计》之后,有着代码洁癖的读者肯定有经常重构旧代码的需求。实际上,在 Eclipse 中已经提供了很多强大和智能的重构功能。但是,IntelliJ IDEA 后来居上,提供了更多、更智能的重构功能。智能提示结合重构功能使得 IntelliJ IDEA 下的 TDD 开发变得十分简单和流畅。

功能 快捷键
重构功能大汇总,又称为 Refactor This Ctrl+Shift+Alt+T
重命名 Shift+F6
提取变量 Ctrl+Alt+V

代码生成

在日常的编程实践中,笔者经常需要编写一些重复且常有的代码片段。实际上,在 Eclipse 和 IntelliJ IDEA 中都提供了非常便捷的代码模板来减少开发工程师的重复操作。此类快捷键的使用频率很高。

Tab 是代码模板的触发按钮,生成 boilerplate 样板代码片段。

功能 快捷键
for 循环 fori+Tab
System.out.println 语句 sout+Tab
main 方法 psvm+Tab
查询所有代码模板 Ctrl+J
自动生成构成函数、toString函数、getter/seter、重写父类方法等 Alt+Insert

后缀自动补全(Postfix Completion) :示例如下

  • user.for+Tab => for(User user : users)
  • user.getBirthday().var+Tab => Date birthday = user.getBirthday()

高效编辑

在代码的编辑过程过程中,IntelliJ IDEA 参考 vim、Emacs等,提供了一套非常智能、高效的编辑快捷键。

功能 快捷键
根据语言的语法特性来扩展或收缩光标所选范围 Ctrl+W 和 Ctrl+Shift+W
以 字符 为单位进行前后移动 Left 和 Right
以 单词 为单位进行前后移动 Ctrl+Left 和 Ctrl+Right
以 代码块 为单位进行前后移动 Ctrl+/ 和 Ctrl+Shift+/
删除当前行 Ctrl+Y
复制当前行并插入在下面一行 Ctrl+D

查找打开

对于 Java 程序员而言,Eclipse 中的查找和打开资源功能是一个经常使用和便利的功能。当然,IntelliJ IDEA 也提供了同样的便利性,而且还进行了智能加强。

功能 快捷键
打开类、文件等资源 Ctrl+N 和 Ctrl+Shift+N
全局搜索(Serarch Every Where) Shift+Shift
打开当前类的继承层次窗口 Ctrl+H
在类的继承层次窗口进行跳转 Ctrl+B 和 Ctrl+Alt+B
查看当前类的所有方法 Ctrl+F12
查找类或者方法的使用 Alt+F7
当前窗口中进行文本查找 Ctrl+F
全工程中进行文本查找 Ctrl+Shift+F
在查找的所有匹配处间进行移动 F3 和 Shift+F3

基础功能

实际上,除了上述的这些专题快捷键,IntelliJ IDEA 还提供了非常多的基础功能快捷键。如果读者能够熟练地掌握这些快捷键的用法,那么基本可以做到双手在 95% 的时间内不需要离开键盘,开发效率势必大大地提高。

功能 快捷键
查询所有的 IntelliJ IDEA 命令和对应快捷键 Ctrl+Shift+A
自动新建类、文件、文件夹等资源 Alt+Insert
优化 import 列表 Ctrl+Alt+O
格式化代码 Ctrl+Alt+L
聚焦到编辑窗口中 ESC
聚焦到工具窗口中 Alt+NUM
在编辑窗口的标签页间进行切换 Ctrl+Tab
打开最近访问过或者编辑过的文件 Ctrl+E 和 Ctrl+Shift+E
创建单元测试用例 Ctrl+Alt+T
开始运行程序 Alt+Shift+F10
开始调试程序 Shift+F9
停止程序 Ctrl+F2
调试程序时 F7/F8/F9 对应 Step into、Step over、Continue

最终榜单

最终,我们根据所有快捷键的使用频率和功能性,总结出一个 IntelliJ IDEA 的十强榜单。

功能 快捷键
智能补全 Ctrl+Shift+Space
智能修复 Alt+Enter
重构一切 Ctrl+Shift+Alt+T
万能插入 Alt+Insert
自动完成 Ctrl+Shift+Enter
全局搜索 Shift+Shift
命令查找 Ctrl+Shift+A
模板触发 Template/Postfix+Tab
智能选取 Ctrl+W
切换标签 Ctrl+Tab

原文地址:http://www.tiantianbianma.com/intellij-idea-keyshot-all.html/

【转载】IntelliJ IDEA 2017常用快捷键的更多相关文章

  1. 【IntelliJ Idea】常用快捷键

    [IntelliJ Idea]常用快捷键 转载:https://www.cnblogs.com/yangchongxing/p/10654018.html ============= 调试 ===== ...

  2. VS 2017常用快捷键

    VS 2017常用快捷键 1.查找和替换 1)查找:使用组合键“Ctrl+F”: 2)替换:使用组合键“Ctrl+H”. (批量更改函数名的神器!) 2.复制/剪切/删除整行代码 1)如果你想复制一整 ...

  3. IntelliJ IDEA 工具常用快捷键

    IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具(git.svn.g ...

  4. (转载)Total Commander 常用快捷键(并附快捷键大全)

    (转载)http://blog.chinaunix.net/uid-532511-id-3051990.html Total Commander 常用快捷键 喜欢用Total Commander的人, ...

  5. 【IntelliJ IDEA】 常用快捷键列表

    1.常用Shortcut F2 或Shift+F2 高亮错误或警告快速定位 Ctrl+Up/Down 光标跳转到第一行或最后一行下 Ctrl+B 快速打开光标处的类或方法  CTRL+ALT+B  找 ...

  6. 转载:Pycharm的常用快捷键

    一直想着找一下pycharm的快捷键,但是每次都忘记找了,这次刚好碰到一个很全的,就直接借用别人的来当作自己的笔记ba 转载来源:https://www.cnblogs.com/liangmingsh ...

  7. 【转载】Visaul Studio 常用快捷键的动画演示

    在进行代码开发的时候,我们往往会频繁的使用键盘.鼠标进行协作,但是切换使用两种工具会影响到我们的开发速度,如果所有的操作都可以只用键盘来完成,那开发效率将得到大幅度的提升.因此,灵活地应用 Visua ...

  8. Intellij Idea 2018常用快捷键总结

    快捷键列表Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如 ...

  9. Intellij IDEA个人常用快捷键

    分享一下个人常用快捷键. 说明:字母排序规则遵循字母表(a->z) 快捷键 介绍 ctrl+b 快速打开当前光标处的类或方法 ctrl+d 复制当前光标所在行至下一行 ctrl+e 打开最近的文 ...

随机推荐

  1. HDU 2544最短路 (迪杰斯特拉算法)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others)    Me ...

  2. Unity-iPhone has Conflicting Provisioning Settings

    Select the top level node called Unity-iPhone in the left tree view (the one with the blue item). Se ...

  3. iOS学小程序从0到发布(适合iOS开发看)

    Emmmm,最近一波失业潮.富某康.某团.摩某.京某.知某.某浪.58 某大面积裁员,那么在这个千钧一发之际,单纯iOS开发也着实不好过,回过头看一下,裁掉的都是单一选手,为了节约成本公司留下的都是身 ...

  4. macOS:按钮类型

    for (int i = 0; i < 10; i++) { for (int j = 1; j < 16; j++) { NSButton *btn = [[NSButton alloc ...

  5. 对于PHP绘图技术的理解

    要使用PHP绘图,就得在php.ini文件中设置一下 找到这个位置 ;extension=php_gd2.dll,然后把前面的分号去掉,重启下apache就可以了 几乎每行代码我都写了注释,方便看懂 ...

  6. C++练习 | 模板与泛式编程练习

    #include <iostream> #include <cmath> #include <cstring> #include <string> #i ...

  7. mongdb的聚合管道

    我们先介绍一下 MongoDB 的聚合功能,聚合操作主要用于对数据的批量处理,往往将记录按条件分组以后,然后再进行一系列操作,例如,求最大值.最小值.平均值,求和等操作.聚合操作还能够对记录进行复杂的 ...

  8. IComparer 与 IComparable

    static void Main() { var people = new ArrayList(); people.AddRange(new ArrayList { }, }, }, } }); Co ...

  9. pci枚举初始化部分(2)

    1.2.8判断pcie设备是否支持雷电技术 Intel具有一种基于Thunderbolt技术的PCIE变体,它结合了DisplayPort和PCIe协议,与Mini DisplayPort兼容. Th ...

  10. Python使用代理的方法

    我们在做爬虫的过程中经常会遇到这样的情况:最初爬虫正常运行,正常抓取数据,一切看起来都是那么的美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden:出现这样的原因往往是网站采取了一些 ...