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. nRF5 SDK for Mesh(六) BLE MESH 的 基础概念

    Basic Bluetooth Mesh concepts The Bluetooth Mesh is a profile specification developed and published ...

  2. Bridge(桥接)模式

    1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度 ...

  3. http协议的总结

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统,其主要特点概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只需传送请求方法和 ...

  4. Red Hat 7.5 Yum Replacement

    This system is not registered with an entitlement server. You can use subscription-manager to regist ...

  5. Linux系统初学-第二课 linux基础知识

    一.用户与群组 Linux是多人多任务的操作系统,每个用户有一个主目录(或者叫家目录 /home),其他用户可以浏览,但是能否查看文件要看具体的权限设置.文件拥有者可以修改权限,选择是否允许其他用户进 ...

  6. ajaxSubmit请求返回数据成功,但是不执行success回调函数

    最近项目涉及到附件上传就头痛,一直在用plupload插件在做...ie9偶尔抽风但还是可以的... 然后有个需求,表格每行都有个上传按钮,页面多上传按钮. 一.开始的时候,用plupload做的,多 ...

  7. HTML标签速记整理W3C

    标题 <h1>段落<p>链接< href="">图像<img src="">自关闭元素,不需要结束标记换行标志& ...

  8. 数据立方体(Cube)

    如上图所示,这是由三个维度构成的一个OLAP立方体,立方体中包含了满足条件的cell(子立方块)值,这些cell里面包含了要分析的数据,称之为度量值.显而易见,一组三维坐标唯一确定了一个子立方. 多位 ...

  9. (数据科学学习手札55)利用ggthemr来美化ggplot2图像

    一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...

  10. 初识Symbol

    Symbol作用域 Symbol,是ES6语法中新增的,值是由Symbol函数调用产生的. var s1 = Symbol(); console.log(s1); // Symbol console. ...