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. 跳转到AppStore下载app

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/cn/ap ...

  2. 字符型设备驱动程序-first-printf以及点亮LED灯(四)

    怎么样 把 写的 代码 和 编译 放到  开发板上 去执行? 2017年5月22日16:34:13 需要 自己 编译 Linux 内核.. 需要 以下 几个 条件: 1.正常运行 Linux 的 开发 ...

  3. oracle中的某一个用户名修改

    1若修改某一个用户密码,修改用户口令格式为:alter user 用户名 identified by 新密码: 2以system 为例,想把密码修改为123456. 可输入alter user sys ...

  4. Web | 一小时看懂前端基本语法

    自从H5出来之后,web前端的势头好像就有点燎原之势.国内互联网的发展就是这样,像之前的移动App(iOS.Android),简直是火的一塌糊涂.所以不管是培训机构也好,自学成才也好,都是一种途径,能 ...

  5. No MyBatis mapper was found in '[com.wuji.springboot]' package. Please check your configuration

    No MyBatis mapper was found in '[com.wuji.springboot]' package. Please check your configuration. 这个原 ...

  6. MySQL8.0.12版本的数据库驱动

    jdbcDriver=com.mysql.cj.jdbc.DriverjdbcUrl=jdbc:mysql://127.0.0.1:3306/jtsys?useUnicode=true&cha ...

  7. 记利用frp配合nginx实现内网透传

    frp下载 背景 : 内网有一台服务器A 在NAT背后 无法被其他客户端访问 借助公网服务器B来配置内网透传 即可通过B来访问A 服务端安装frps 启动: ./frps -c frps.ini 配置 ...

  8. JavaScript的迭代函数与迭代函数的实现

    前言 ​ 如果对技术很自信,请直接看 实现的源码 ​ 如果想回顾一下基础,请按文章顺序阅读 说到迭代方法,最先想到的是什么?forEach还是map,迭代的方法ES5提供了5种方法 以下定义来自 Ja ...

  9. 大数据时代的结构化存储--HBase

    迄今,相信大家肯定听说过 HBase,但是对于 HBase 的了解可能仅仅是它是 Hadoop 生态圈重要的一员,是一个大数据相关的数据库技术. 今天我带你们一起领略一下 HBase 体系架构,看看它 ...

  10. laravel5.5源码笔记(四、路由)

    今天这篇博文来探索一下laravel的路由.在第一篇讲laravel入口文件的博文里,我们就提到过laravel的路由是在application对象的初始化阶段,通过provider来加载的.这个路由 ...