此处指导,意与帮助与更有成效的使用Intellij IDEA,提供一个关于窍门、诀窍、快捷键等最重要的特性的总览。

用户界面

Intellij IDEA编辑器在一些方面是特殊的,值得注意的是,大多数情况下,你可以在不离开ide的情况下执行任何ide的特性。为了使你有更大的屏幕空间去组织布局,像工具栏和窗体这种辅助面板默认是被隐藏的。

ideamysql视图_版本控制工具


访问工具窗体是通过使快捷键获得输入焦点(使用快捷键),所以,你可以在上下文使用所有的键盘命令,当你需要退出窗体,操作ESC按键即可

下面罗列了一些你可能常常使用到的快捷键:

工具窗体

快捷键

Project

Alt+1

Version Control

Alt+9

Run

Alt+4

Debug

Alt+5

Terminal

Alt+F12

Editor

AltEscape4

如果你只想关注代码,可以尝试使用自由娱乐模式,它移除了所有的窗体,工具栏和编辑标签。可以在 View | Enter Distraction Free Mode中切换。

效果如下图

ideamysql视图_快捷键_02


一种替代自由娱乐模式的方式是按ctrl+shift+f12同样可以隐藏所有的工具窗体。你可以再次按下这个快捷键来复原所有布局。

导航栏是一种紧凑的替代项目工具窗体的方式。可以按Alt+home键进入导航栏。

ideamysql视图_ideamysql视图_03


Intellij IDEA的大部分组件(包括工具窗和弹出式)都提供了快速搜索功能。这种特性允许你去过滤列表,或者通过使用搜索查询导航到特殊项目上。

ideamysql视图_版本控制工具_04

当你不知道一个事件的快捷键时,你可以尝试通过使用ctrl+shift+a查找事件特性。开始键入你要查找事件的名字,查看这个事件或者执行它。
更多的细节,可以参阅用户界面,编辑器和工具窗指南

编辑器基础

由于在IntellijIDEA中你可以从本地历史撤销重构和还原变更,它在用户无感知的情况下进行保存更改。
更多有用的快捷编辑器操作如下:

事件

快捷键

移动当前代码行

Ctrl+Shift+Up Ctrl+Shift+Down

复制一份当前代码

Ctrl+D

删除当前行代码

Ctrl+Y

单行注释/取消注释代码

ctrl+/

多行注释

ctrl+shift+/

在当前文件中查找

ctrl+f

在当前文件中查找和替换

ctrl+r

下次出现

F3

前一次出现

shift+F3

操作被打开的标签

Alt+Right Alt+Left

前进后退操作

Ctrl+Alt+Left Ctrl+Alt+Right

折叠/展开代码块

Ctrl+NumPad Plus Ctrl+NumPad -

创建新的…

Alt+Insert

环绕

Ctrl+Alt+T

高亮符号使用(比如变量使用)

Ctrl+F7

代码的扩展和收缩都依赖于语法,对应的按键是ctrl+w和ctrl+shift+w。
Intellij IDEA可以在同一时间选择多个代码块。你可以使用alt+j或shift+alt+j来选择/取消选择代码块(用来更改同一个变量的时候非常有用)。
获得更多细节,请参阅编辑器

代码完成

当你按ctrl+空格时触发基础完成,你得到可用的基础建议的值、类型、方法和表达式等等。如果你操作了两次,它会显示更多结果,包括私有成员和静态成员等.
智能完成特性是预测想要的类型和数据流,提供相关联的选项给上下文,按ctrl+shift+空格触发智能提示.当你执行两个按键,它也会展示更多的结果,包括链.

在进入字符的时候进行tab按键输入,代替输入的时候智能提示。当你正在编辑一个标识符时非常有用的,比如一个文件名。
为了让Intellij IDEA为你提供完整的声明,请按ctrl+shift+enter。完整声明会自动的添加缺失的括号({})和强制的格式化。
如果你想查看方法或者构造的建议参数,请按ctrl+p。Intellij IDEA会展示每一个构造或者方法的参数信息,并高亮展示分类好的最适合的匹配参数。
后缀完成特性让你可以依据你的类型后边后缀.的形式将一个已经存在的表达式转换为另一个(我们平常.的方式修改方法名)。
获取更多细节,请参阅自动完成代码

导航

最近文件

大多数时间,你只是在有限的文件集中工作,需要快速的在他们之间进行切换。一个真正节约时间的事件是最近文件(可以按Ctrl+e触发)。默认情况下,焦点会在最后一个操作的文件。注意,你也可以通过这个事件打开其他任意工具窗体。

ideamysql视图_ideamysql视图_05


当你按ctrl+n时,可以导航到可用的class,并且支持复杂的表达式。包括驼峰,路径,导航线,匹配中间名等等。如果你执行快捷键2次,它会展示项目之外的class文件。

类似的还有ctrl+shift+n,但是他是用在文件和文件夹上。导航到文件夹的话,需要你的表达式以斜杠结尾。

通过ctrl+shift+alt+n,你可以链接到可用的符号,并且允许你通过名字查找到方法和域变量。

体系结构

当你不需要在文件之间来回切换,你很大可能只需要在一个文件中导航,一种简单的方式是通过ctrl+F12,弹窗就会显示文件的体系结构,同时允许你快速的链接到他们中的任意一项。

ideamysql视图_代码块_06

选择

如果你需要打开一些工具窗体文件,可以通过alt+F1或者select in事件。

ideamysql视图_代码块_07


快捷导航包含:

事件

快捷键

任意查找

Double Shift

导航到class

Ctrl+N

导航到文件

Ctrl+Shift+N

导航到符号

Ctrl+Shift+Alt+N

最近文件

Ctrl+E

文件结构

Ctrl+F12

选择

Alt+F1

导航到声明

Ctrl+B

导航到类型等级

Ctrl+H

展示UML

Ctrl+Alt+U

更多请查阅源码导航

快捷窗体

在容器中校验附加信息的时候快捷窗体是非常有帮助的。下面是更多你想要知道的快捷窗体列表。

事件

快捷键

文档

Ctrl+Q

快速定义(变量是如何定义的)

Ctrl+Shift+I

展示调用列表

Ctrl+Alt+F7

展示实现类列表

Ctrl+Alt+B

在编辑器中,快捷窗体同样适用于符号变量,通过同样快捷的任意其他集合组,也是同样可用的。

重构基础

Intellij IDEA提供了一套功能强大的,综合性自动化重构集,它会引导你正确的使用。首先,当你想重构时你不要烦恼。因为IDEA足够聪明,可以帮你估算出哪里的语法需要重构,并且只有在一些可许可范围内通知确认。

撤销重构的方式是:选择项目工具窗,按键ctrl+z即可

事件

快捷键

重命名

Shift+F6

提取变量

Ctrl+Alt+V

提取Field

Ctrl+Alt+F

提取常量

Ctrl+Alt+C

提取方法

Ctrl+Alt+M

提取参数

Ctrl+Alt+P

内联

Ctrl+Alt+N

复制

F5

移动

F6

重构此处

Ctrl+Shift+Alt+T

更加节约时间的方式是通过选择代码块,并配合快捷键进行重构。

探测使用

探测使用帮助你快速的定位符号在代码中的所有的引用,不管是类,方法,field,参数或者其他语法。只需要按键Alt+F7,就能获得一个以类型、模块、文件分组的引用列表。
如果你想要定制规则,按键ctrl+shift+alt+F7,如果你想要查找纯文本,使用ctrl+shift+F
更多细节请查阅探测使用

检查

检查是内置的分析静态代码的工具,可以帮助你查找可能的bug,定位死代码,探测发现问题和改善代码结构.大多数情况下不仅仅告诉你问题在哪,也提供快捷的正确的修复问题.按键alt+enter去选择一个快速修复方式.

编辑器允许你通过快捷键快速的导航高亮的问题.按F2可以定位到下一个问题,同时你可以通过shift+f2定位到上一个问题.
当你对所有项目执行代码分析时,检查的过程是非常复杂的.你可以选择下面两种方式之一:通过从主菜单选择Analyze|Inspect Code或者选Analyze | Run Inspection by name择的方式通过它的名字进行检查.
所有的检查提供了对那些可能的问题的快速修复方式.帮助你自动的正确的更改.通过alt+enter你可以得到一个代码检查视图列表.

代码样式和格式化

Intellij IDEA自动应用你在代码样式设置中配置的代码样式,大多数情况下,你不需要显式的调用代码格式化事件.
有用的格式化快捷键:

事件

快捷键

格式化代码

Ctrl+Alt+L

自动行缩进

Ctrl+Alt+I

优化导入

Ctrl+Alt+O

注意:默认情况下,Intellij IDEA使用有规律的缩进代表制表符.如果你有文件拥有很多缩进,你可能需要通过设置java代码样式设置中的Use Tab character来设置他们的尺寸.

版本控制基础

你可以通过点击欢迎屏幕的Checkout from Version Control 或者点击主VCS菜单,从版本控制系统中检出一个项目.使用alt+~的弹窗式VCS操作,可以快速的在当前文件目录或者整个项目执行VCS操作.

ideamysql视图_代码块_08


如果你设置了版本控制配置,你讲可以看到版本控制工具窗.你可以在任何时候通过alt+9的方式切换。版本控制工具中的本地变化标签展示你的本地更改:阶段性和非阶段性的

有用的版本控制系统快捷键

事件

快捷键

版本控制工具窗体

Alt+9

弹出式VCS操作

Alt+~

提交变动

Ctrl+K

更新项目

Ctrl+T

推送变动

Ctrl+Shift+K

annotation 选项使你能够看到文件任意行的变更时间和人。

分支

选择vcs的branches或者语境中的菜单(VCS弹窗选项),或者右边的状态栏,都可以达到分支操作的目的。
注意:对于多仓库来说,Intellij IDEA可以同时对所有分支进行vcs操作,你不需要手动的切换。
架子(shelves)、藏匿(stashes)、补丁(patches)可以帮助你存储本地的那些你不想提交的更改。之后你可以切换文件控制版本,最后再还原本地的更改即可。

构成

默认情况下,Intellij IDEA在保存的时候不会自动编译项目。如果想编译,你可以通过在主菜单选择build|make project,或者按键Ctrl+F9。

运行和调试

如果你已经通过选择主菜单的Run | Edit Configurations 配置了一个运行或调试配置,那么你就可以运行或调试你的代码了。

事件

快捷键

Run

Shift+F10

Debug

Shift+F9

在调试模式下,通过按键Alt+F8,你可以通过表达式工具获取到任意表达式的值。这个工具也提供了代码完成功能,所以你可以非常容易的的键入表达式。
有时候,你想要进入一些方法(但并不是第一个被执行的)。这种情况下,你可以按键Shift+F7来选择方法。

事件

快捷键

Toggle breakpoint(切换断点)

Ctrl+F8

Step into(步入)

F7

Smart step into(快速步入)

Shift+F7

Step over(下一步)

F8

Step out(跳出当前执行体)

Shift+F8

Resume(重新开始)

F9

Evaluate expression(表达式求值)

alt+F8

如果在调试的时候,你想回退,可以通过配合alt+上述的步入键进行处理。在你操作太快的时候,这种方式也许对你会有些帮助。注意,他不会还原你程序中的一些全局状态,但是可以还原上一个堆栈信息。

通过按键Ctrl+Shift+F8可以快速的禁用所有的断点。

重载改变和热交换

有些时候,你需要在不终止进程的情况下,在代码中插入少量的更改,由于jvm有热交换(HotSwap)的特性,所以Intellij IDEA会在你Make项目的时候自动帮你处理这些事情。

应用服务

将你的应用部署到服务器中:


  1. 通过File | Project Structure | Artifacts 来配置Artifacts
  2. 通过点击Application Servers来配置你的服务器信息。
  3. 通过 Run | Edit Configurations来配置运行配置,选择要部署的特定的artifacts。
    通过选择Build | Build Artifacts来通知Intellij IDEA构建或者重构你的Artifacts 。

如果你想在一个正在运行的项目中提交你的更改,除了使用make以外,你还可以使用ctrl+f9的更新事件。但是这个事件只针对Exploded artifact类型有用。依据自己的情况,可以选择update resources 或者 update classes and resources。当更新事件是在Debug模式下,会使用hotSwap,否则使用热部署。

使用构建工具(maven、Gradle)

一旦你导入或者建立了maven/Gradle项目,你就可以在编辑器里面免费的编辑它的Pom.xml或build.gradle文件。任何潜在的构建配置终将同步到项目模块中去。
如果你想IDE立刻同步这些改变,做下面的操作:
对pom.xml文件来说,在 File | Settings | Build, Execution, Deployment | Build Tools | Maven | Importing (Windows and Linux) 或者IntelliJ IDEA | Preferences | Build, Execution, Deployment | Build Tools | Maven | Importing (macOS).中开启maven项目自动导入(Import Maven projects automatically)。
对于build.gradle来说,在 Build, Execution, Deployment | Build Tools | Gradle中开启使用自动导入(Use auto-import).
当然,你也可以右键文件,选择同步Synchronize XX文件。

从Eclipse或者NetBeans迁移

如果你考虑迁移eclipse或NetBeans项目到Intellij IDEA的可能性,请参阅迁移向导eclipse和NetBeans