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. [LuoguP1360][USACP07MAR]黄金阵容均衡

    [LuoguP1360][USACP07MAR]黄金阵容均衡(Link) 每天会增加一个数\(A\),将\(A\)二进制分解为\(a[i]\),对于每一个\(i\)都增加\(a[i]\),如果一段时间 ...

  2. misc类设备

    何为misc (1)中文名:杂项设备\杂散设备,它是一种典型的字符设,在一般情况下在内核中,所有的misc设备的主设备号是固定的,为10,它们的次设备号不一样:(2)可以在根文件系统中看到:/sys/ ...

  3. 【Linux资源管理】iotop命令监控磁盘使用情况

    一.iotop工具介绍 I/O可谓是数据库\服务器的最大瓶颈问题了,在使用top.nmon.zabbix.sar等工具监控I/O时,要么没有I/O监控(如top.zabbix),要么仅仅监控到磁盘层面 ...

  4. Python中读取文件输出时在头部输出\ufeff

    问题出现: 在我测试python中的文本文件的读取与写入时,用到了字典对象来存储读出的数据. std_data = dict() with open(sys.argv[1], encoding='UT ...

  5. stm32 IO口八种模式区别

    初学STM32,遇到I/O口八种模式的介绍,网上查了一下资料,下面简明写出这几种模式的区别,有不对的地方请大家多多指正! 上拉输入模式:区别在于没有输入信号的时候默认输入高电平(因为有弱上拉).下拉输 ...

  6. 详解LeetCode 137. Single Number II

    Given an array of integers, every element appears three times except for one, which appears exactly ...

  7. cygwin下安装NCL

      1.安装cygwin 到cygwin官网https://www.cygwin.com/下载安装程序,setup-x86.exe,注意能下载这个安装程序, setup-x86_64.exe64位不支 ...

  8. 任意flex控件导出图片

    任意flex控件导出图片   flex导出图片功能通常是: 思路1:客户端将UIComponent转化为BitmapData,再转为ByteArray,将ByteArray上传到服务端,服务端发送文件 ...

  9. Linux下c语言实现myod

    首先根据od要输出16进制的功能,以及c语言中文件的打开读取等函数,编写了如下代码. #include<stdio.h> #define N 1000 int main() { int c ...

  10. 20155235 《Java程序设计》 实验五 Java网络编程及安全

    20155235 <Java程序设计> 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验要求 没有Linu ...