IntelliJ IDEA 2017 快捷键大全
一、用户界面(User interface)
相比于很多同类型的 IDE,IntelliJ IDEA 在很多方面都显得更加优秀,IDEA 最吸引开发者的一个特性可能是它的沉浸式编程理念:在不离开 IDE 的情况下,可以调用 IDEA 的几乎所有特性。同时,IDEA 可以完全定制界面的布局,比如隐藏部分暂时不使用的工具栏和窗口,这样就可以获得更多的界面布局控制权。
IntelliJ IDEA 2017 快捷键大全通常而言,IntelliJ IDEA 的界面上除了最主要的 Editor,还会有一些 Tool Windows,而且在编程的过程中需要在 Editor 和 Tool Windows 之间进行切换,对此,IntelliJ IDEA 提供了很多的快捷键,使得开发者在不厉害键盘的情况下就可以完成它们之间的快速切换。我们看几个最常用的快捷键,如下表:
Tool Window | Shortcut | Tool Window | Shortcut |
---|---|---|---|
Project | Alt+1 | Version Control | Alt+9 |
Run | Alt+4 | Debug | Alt+5 |
Terminal | Alt+F12 | Editor | Esc |
此外,当读者需要专注于编码时,IntelliJ IDEA 还提供了 Distraction Free Mode,在该模式下,IDEA 会移除所有的工具栏、工具窗口和编辑标签等。读者可以利用主菜单中的 View菜单进入:View -> Enter Distraction Free Mode。当然,也可以直接利用快捷键:Ctrl+Shift+F12 在默认布局模式和 Distraction Free Mode 之间进行切换。
IntelliJ IDEA 2017 快捷键大全编程经验表明,任何 IDE 在处理一个文件或者目录众多、层次嵌套很深的项目结构时,开发者都可能会迷失其中。为了解决此问题,IntelliJ IDEA 提供了一个 导航栏(Navigation Bar),该导航栏其实就是 项目工具窗口(Project tool Window) 的另一个紧凑视图,非常清晰地展示开发者所操作的文件所处的位置细节和层次。导航栏的快捷键是 Alt+Home。
IntelliJ IDEA 2017 快捷键大全为了提升开发者的效率,IntelliJ IDEA 中的很多组件(工具窗口和弹出框)都提供了快速搜索(speed search)。利用这个快速搜索,开发者可以过滤一个列表和导航到一个特定的元素。
当不知道某个操作的快捷键时,可以利用查找操作(Find action)来查找。只需记住查找操作的快捷键是 Ctrl+Shift+A。在查找操作的搜索框中输入操作名称,就可以看到对应的快捷键或者直接调用。
二、编辑技能(Editor basics)
在 IntelliJ IDEA 中,引入了一个 本地操作历史记录(Local History) 的工具,利用该工具可以完成撤销重构操作和恢复修改操作的需求,这样以后,完全不需要开发者去关心保存每次的修改内容。换一种说法就是 IntelliJ IDEA 是一个不需要主动进行保存操作的 IDE。现在,我们看几个最常用的快捷键,如下表:
功能 快捷键
移动整行代码 Ctrl+Shift+Up/Down
移除整行代码 Ctrl+Y
添加代码块的注释 Ctrl+Shift+/
在当前文件中查找和替换 Ctrl+R
上一个查找结果 Shift+F3
下一个查找结果 F3
在访问历史中进行导航 Ctrl+Alt+Left/Right
创建 Alt+Insert
复制整行代码到下一行 Ctrl+D
添加/移除整行代码的注释 Ctrl+/
在当前文件中查找 Ctrl+F
在打开的标签页之间切换 Alt+Right/Left
高亮显示 Ctrl+F7
代码围绕 Ctrl+Alt+T
针对实际编辑中的选取字符串操作,IntelliJ IDEA 提供了快捷键:Ctrl+W 会基于语法扩展已选取的字符串;Ctrl+Shift+W 会基于语法收缩已选取的字符串。
针对实际编辑中的同时选择多个代码块,IntelliJ IDEA 提供了快捷键;Alt+J 会选择/取消某个代码块,Alt+Shift+J 也具有同样的功能。
三、代码助手(Code completion)
首先,最基本最常用的代码助手是 Ctrl+Space(空格),利用这个基本助手(Basic completion)可以完成变量、类型、方法、表达式等的最基本完成建议。而且,如果连续两次按下 Ctrl+Space,它会提供出更多的选择,包括私有成员和一些还未引入当前文件的静态成员等。
在 IntelliJ IDEA 中,除了基本助手之外,还提供了一个更加聪明的智能助手(Smart completion),这个智能助手更加明白开发者在当前上下文环境中需要的类型、数据流等,并提供更加准确的选项。调用智能助手的快捷键是 Ctrl+Shift+Space(空格)。而且,如果连续两次按下 Ctrl+Shift+Space,它会提供出更多的选择,包括调用链。
在修改鼠标插入符所在的字符串时,按下 Enter 键后会插入选择的字符串,但很多时候我们需要的是复写旧字符串,而不是插入字符串并获得一个有冗余字符的字符串。所以,对于复写/替换旧字符串,应该使用 Tab 键。
实际上,IntelliJ IDEA 还提供了一个语句自动完成(Statement completion)的功能,快捷键是 Ctrl+Shift+Enter。语句自动完成 会自动地添加缺失的 括号、中括号和必须的格式。
对于给方法或者构造方法提供建议参数的功能,IntelliJ IDEA 也提供了快捷键:Ctrl+P。IntelliJ IDEA 会显示每一个重载方法或重载构造方法的参数信息,并且会高亮与方法已有参数最匹配的那个。此外,IntelliJ IDEA 中的 后缀助手(Postfix completion) 会基于 . 符号之后的输入转换一个已存在的表达式为另一个表达式。
四、导航(Navigation)
当前文件(Recent Files)
很多时候,开发者都需要面对项目的复杂目录与文件,而且需要快速地在它们之间进行切换。对此,IntelliJ IDEA 提供一个非常节省时间的功能,名为 当前文件(Recent Files),可以利用快捷键 Ctrl+E 启动此功能。默认情况下,焦点位于最近被访问的文件上。而且,利用此功能还可以快速定位和切换到其他的工具窗口(Tool Window)。
IntelliJ IDEA 2017 快捷键大全对于实际编码实践中的快速定位到某个类,IntelliJ IDEA 同样提供了快捷方式:Ctrl+N。在弹出的搜索框中,支持复杂的表达式,比如驼峰形式、路径、定位到行、中间名匹配等,甚至支持简单的通配查找。如果连续两次按下 Ctrl+N,还可以查找和导航到项目之外的类。此外,对于文件和目录导航,IntelliJ IDEA 提供的快捷键是 Ctrl+Shift+N。当然,导航到目录时,需要在查找表达式的最后加上 “/” 字符。对于符号(Symbol)导航,IntelliJ IDEA 的快捷键是 Ctrl+Shift+Alt+N,这个功能常用于查找方法和属性。
结构(Structure)
除了在多个文件之间进行切换之外,开发者经常还需要在一个文件之内进行导航。完成文件内导航的最简单方式就是使用 Ctrl+F12 快捷键,在弹出窗口(pop-up)中会展示当前文件的结构,这样就可以快速地进行定位导航了。
IntelliJ IDEA 2017 快捷键大全选择进入(Select in)
当我们需要在某个特定的工具窗口(Tool window)中定位当前的文件时,我们可以利用 IntelliJ IDEA 提供的 选择进入(Select in) 功能,该功能的快捷键是:Alt+F1。
IntelliJ IDEA 2017 快捷键大全最后,我们需要总结一下关于导航(Navigation)的功能与快捷键。如下表:
功能 快捷键
全项目搜索 Double Shift
类导航 Ctrl+N
文件/目录导航 Ctrl+Shift+N
符号导航 Ctrl+Shift+Alt+N
当前文件 Ctrl+E
文件结构 Ctrl+F12
选择进入 Alt+F1
定义处导航 Ctrl+B
类层次导航 Ctrl+H
UML导航 Ctrl+Alt+U
五、快速提示(Quick pop-ups)
实际编码中,对于某些不熟悉的类或者方法,开发者可能需要停下来查找资料。为此,IntelliJ IDEA 提供了更加便利的工具来协助开发者。其中 快速提示(Quick pop-ups)就是提供与鼠标定位处符号相关的有效的信息,减少开发者的停顿时间。下面,我们总结一些关于 pop-ups 的快捷键,帮助开发者提高效率:
功能 快捷键
文档 Ctrl+Q
用法 Ctrl+Alt+F7
定义 Ctrl+Shift+I
实现 Ctrl+Alt+B
实际上,快速提示不仅仅在 Eidtor 中有效,这些快捷键在其他的窗口中同样是有效的。
六、重构技能(Refactoring basics)
作为一名现在的程序员,重构已经是一个必备技能。为此,IntelliJ IDEA 提供了一系列复杂的自动重构代码工具,这样就可以快速提供开发者的重构效率。而且,IDEA 提供的重构技能非常智能。首先,在应用任何重构技能之前,不需要开发者必须选择重构的对象,IntelliJ IDEA 足够智能,可以发现开发者希望重构的代码。当然,在具有多个选择的情况下,会提醒开发者进行确认。下面,我们总结一些关于 重构 的快捷键,帮助开发者提高效率:
功能 快捷键
重命名 Shift+F6
抽取属性 Ctrl+Alt+F
抽取方法 Ctrl+Alt+M
内联 Ctrl+Alt+N
移动 F6
抽取变量 Ctrl+Alt+V
抽取常量 Ctrl+Alt+C
抽取参数 Ctrl+Alt+P
拷贝 F5
重构this Ctrl+Shift+Alt+T
如果需要撤销最新的重构操作,把焦点切换到 Project tool Window 之后,按 Ctrl+Z 。
通过使用重构中的抽取功能,可以非常快速地实现替换指定字符串的操作。
查找用法(Finding usages)
实际编程中,开发者经常需要查找和定位引用了鼠标焦点所在位置符号的所有代码片段,为此,IntelliJ IDEA 提供了查找用法(Finding usages)功能。无论需要查找的符号是类、方法、熟悉、参数还是其他语句等,查找用法功能都可以实现。按下 Alt+F7 就会获得一个按照用法类型、模块和文件分组的引用列表。
当然,如果开发者有定制查找用法功能所使用的算法的需求,按下 Ctrl+Shift+Alt+F7 就可以。此外,如果开发者需要查找的仅仅是普通的文本,那么可以使用 Find in Path 功能,该功能的快捷键是 Ctrl+Shift+F。
七、检查(Inspections)
检查(Inspections)内建于 IntelliJ IDEA 中的静态代码检查工具中,用于帮助开发者发现可能存在的bug、定位毫无用处的代码、发现性能低效的代码和提高代码的整体结构。而且,很多的检查功能不仅支出了问题代码的位置,而且还提供了快速修正此问题代码的正确建议。可以使用 Alt+Enter 选择其中的一个修正建议。
当一个文件中有多个高亮的问题时,可以使用 F2 和 Shift+F2 在这些问题之间进行前后导航。
检查是一个比较复杂和消耗性能的操作,在编写代码的过程中不建议开启 on-the-fly 模式,而是应该在完成编程后执行对整个项目代码的静态检查时,再开启检查功能。有两种方法可以完成这种设置:通过主菜单中 Analyze 菜单:Analyze -> Inspect Code;通过主菜单中 Analyze 菜单:Analyze -> Run Inspection by Name。
八、代码风格(Code style and formatting)
默认情况下,IntelliJ IDEA 使用的代码风格是我们在 Code Style settings 中设置的,如果需要个性化定制代码,可以查看本系列教程的设置教程。在绝大多数情况下,IntelliJ IDEA 会自动调用格式化代码的命令,维护好代码风格。当然了,开发者也可以显示地执行格式化命令,常用的快捷键如下表:
功能 快捷键 功能 快捷键
重写格式化 Ctrl+Alt+L 自动行缩进 Ctrl+Alt+I
优化导入语句
默认情况下,IntelliJ IDEA 使用空格替换了tabs,当然,可以在 Settings 中修改此行为。
九、版本控制技能(Version control basics)
正如本系列教程的前文所述,欢迎界面中的 Checkout from Version Control 和项目界面中主菜单的 VCS 菜单都具有开启从 版本控制系统(VCS) 中导入项目的功能。而且,为了可以在当前文件、目录或整个项目上执行 VCS 操作,我们可以通过按下 Alt+后引号(后引号是指键盘上 Esc 下面的那个键。) 快捷键来调出 VCS操作窗口(VCS operations pop-up)。
一旦配置好了 VCS,就可以在 IntelliJ IDEA 中看到 Version Control tool window。实际上,在任何时候都可以利用快捷键 Alt+9 切换到这个工具窗口。在这个工具窗口的 Local Changes 选项卡中会显示出本地的所有修改文件,包括 staged 和 unstaged。现在,我们看一下关于 VCS 的常用快捷键:
功能 快捷键
聚焦版本控制工具窗口 Alt+9
提交修改 Ctrl+K
推送提交 Ctrl+Shift+K
VCS操作窗口 Alt+后引号
更新项目 Ctrl+T
利用快速列表和上下文菜单中的注解,可以查看任何文件是被谁在什么时间修改等详细信息。
分支(Branches)
为了在分支上执行操作,可以通过使用主菜单中 VCS 菜单的 Branches;也可以使用 VCS操作窗口;再或者使用开始栏中的右键功能。需要注意的是,对于多个仓库而言,IntelliJ IDEA 会同时在所有的分支上执行所有的 VCS 操作,所以完全没有必要在它们之间进行手工切换。
当需要临时保存一些本地的修改时,而且不想把这些修改提交到仓库中时,开发者可以利用 Shelves,stashes 和 patches 命令达成此目的。关于这些命令的具体用法看参看本站的 Git 教程。
十、Make(制作)
默认情况下,IntelliJ IDEA 并不会自动编译保存的项目。为了对项目执行编译,我们可以利用主菜单的功能:Build -> Make Project,当然也可以直接使用快捷键:Ctrl+F9。
Running and debugging(运行与调试)
为了可以运行 IntelliJ IDEA 的 Run/Debug 功能,需要首先利用主菜单的功能:Run -> Edit Configurations 配置一下运行与调试的参数。运行与调试代码的操作比较频繁,可以直接利用快捷键:
功能 快捷键 功能 快捷键
运行(Run) Shift+F10 调试(Debug) Shift+F9
当 IntelliJ IDEA 处于调试模式时,可以利用其中的 Evaluate expression tool 执行任何的表达式。启动 Evaluate expression tool 的快捷键是 Alt+F8。而且,在该工具中还提供了与在 Editor 中一样的代码完成功能,十分方便。实际上,调试代码需要更精细的流程控制,所以 IntelliJ IDEA 提供了很多的调试快捷键:
功能 快捷键
切换断点 Ctrl+F8
Smart step into Shift+F7
Step out Shift+F8
Evaluate expression Alt+F8
Step into F7
Step over F8
Resume F9
如果在调试的过程中,希望可以重试(rewind),可以使用 丢弃栈帧(Drop Frame)的功能。在错过了某些希望观察过程的调试流程之后,该功能可以实现恢复现场的目的。使用这个功能可以做到将程序的状态回退到期望观察的位置,而不需要又重头开始。
调试过程中,按住 Alt 键的同时点击断点符号可以快速地使该断点失效。
如果需要改变断点的细节,比如断点的条件,可以按下 Ctrl+Shift+F8。
重装和热部署(Reloading changes and hot swapping)
有时,在调试的过程中才想起来需要对代码做一些小幅度的修改。那么是否可以在不停止本次调试过程的情况下做到呢?由于 Java 的 JVM 具备了 热交换(HotSwap)的特性,所以,在 IntelliJ IDEA 执行 Make 命令的过程中会自动处理这种情况,检查代码变化,自动重装。
应用服务器(Application servers)
在 IntelliJ IDEA 中,为了把一个应用部署到服务器中,需要如下三步:
配置应用的属性:File -> Project Structure -> Artifacts (Maven和Gradle项目自动完成此步骤)。
配置服务器的属性:Settings -> Preferences -> Application Server。
配置运行参数:Run -> Edit Configurations ,确定部署的属性和选择具体的服务器。
而且,在任何时候都可以通过 Build -> Build Artifacts 让 IntelliJ IDEA 去 构建/重写构建应用的属性。
如果需要把代码的修改应用到已经在运行的应用中,除了可以利用 Make 之外,还可以使用 Update 操作,Update 操作的快捷键是 Ctrl+F10。注意,这个更新操作只对 Exploded artifact 类型的应用才有效。而且,开发者还可以控制更新操作的应用范围是 resources 还是 classes 与 resources。
如果这个更新操作是运行在调试模式中,IntelliJ IDEA 使用 HotSwap 技术,或者使用 Hot redeployment 技术。
十一、构建工具(Working with build tools)
一旦利用 Maven 或 Gradle 之类的工具来管理项目,我们就可以直接编辑项目中的 pom.xml 或 build.gradle 文件。任何对于这两个文件的修改,都需要被 IntelliJ IDEA 感知并同步修改项目模型。当然,我们可以配置 IDEA,让其自动同步这两个文件的变化内容。
pom.xml:File -> Settings -> Build,Execution,Deployment -> Build Tools -> Maven -> Importing -> Import Maven projects automatically
build.gradle:File -> Settings -> Preferences -> Build,Execution,Deployment -> Build Tools -> Gradle -> Use auto-import
当然,为了方便进行手工同步,在 Maven/Gradle tool window toolbar 中都提供了对应的快捷按钮。
最后,终于完成,本文在学习过程中可以做为备忘录查阅,赶紧动起手来吧试试吧,发现属于你的惊喜!