编辑器

IntelliJ IDEA使用指南

简介:IntelliJ IDEA使用指南

1. 辅助快捷键操作

首先介绍一下Idea中的辅助快捷操作:

  • Alt+数字键:可以在Idea中多个面板之间来回切换;在一些面板标题上带有数字,表示可以通过Alt+相应的数字进行快速切换:

1.快速切换面板.png

  • Ctrl+Shift+A:快速寻找功能快捷键;按下这个快捷键,Idea会显示一个窗口如下,用于搜索快捷键:

![1.2.Find Action快捷键](Pic_1/1.2.Find Action快捷键.jpg)
2.Find Action快捷键.jpg

2. 无处不在的跳转

2.1. 项目之间的跳转

  • Ctrl+Alt+[或]:这两个快捷键可以在打开的多个项目窗口之间跳转。

2.2. 文件之间的跳转

  • Ctrl+E:浏览最近的文件,会打开一个窗口,显示最近的文件:

3.最近浏览的文件的窗口.png

  • Ctrl+Shift+E:浏览最近编辑的文件,会打开一个窗口,显示最近编辑的文件:

4.最近编辑的文件的窗口.png

2.3. 修改位置指间的跳转:

  • Ctrl+Shift+Backspace:跳转到上一个修改的位置

2.4. 浏览位置指间的跳转:

  • Ctrl+Alt+左箭头或右箭头

注:Windows10下Ctrl+Shift+左箭头/右箭头是改变屏幕方向

2.5. 使用书签进行跳转:

  • Ctrl+F11:打开标记书签;这个操作需要将光标定位在某一行上然后进行操作。会在该行的行首标记一个对勾(图中黄色圆圈框选部分)并打开一个窗口,让我们选择一个数字或者字字母标记:

5.打开添加标记书签的窗口.png

选择某个标记后,行首的对勾变成一个带有标记的矩形框(图中黄色圆圈框选部分):

6.添加标记书签后的显示.png

  • F11:快速添加书签;此操作会直接在当前行首添加一个对勾标记:

7.直接添加书签.png

  • Ctrl+Shift+数字或字母:快速添加标记书签;此操作会直接在当前行首添加一个带有标记的矩形框(图中黄色圆圈框选部分):

8.直接添加标记书签.png

  • Ctrl+数字或者字母:跳转到某个标记书签;在添加了标记书签后可以使用该快捷键快速在标记书签之间导航。

  • Shift+F11:总览书签。

9.总览书签.png

2.6. 添加到收藏

  • Alt+Shit+F:添加收藏;
  1. 在某个文件中操作可以将某个文件添加到收藏列表,会打开一个选择窗口,可以添加到已有的列表,也可以新建一个列表:

10.添加到收藏.png

在上图中,My Favorite List就是已有的列表。选择这个列表后,文件就会被收藏;我们通过Alt+2可以打开收藏面板:

11.收藏面板.png

可以发现,收藏面板中有收藏和书签两栏,分别展示了之前我们添加的标签以及收藏的文件。

  1. 如果我们想要收藏一个方法,可以将光标定位到这个方法名上操作即可:

12.收藏方法.png

此时收藏的展示如下:

13.收藏面板2.png

收藏类的方式与上述类似。

2.7. EmacsIDEAs插件的使用

EmacsIDEAs支持在同一屏幕内跳转到任何字母,该插件需要自己安装,并且需要自己设置快捷键,这里我设置的是Alt+L

14.添加EmacsIEDAs快捷键.png

使用方法是按下快捷键后,再按下想要跳转的字母,此时屏幕上会将所有该字母高亮标号,再次按下某个标号,就可以实现快速跳转:

15.EmacsIEDAs操作.png

2.8. 编辑区和文件区来回跳转

  • Alt+1:跳转到文件区;此时可以快速切换到文件区,同时由于Alt+1也是打开或关闭文件区的快捷键。

  • ESC:调回编辑区;当我们处于面板中时,点击ESC可以调回编辑区

注:Ctrl+Shift+F12:可以关闭所有面板,最大化编辑区

2.9. Vim插件实现多创建跳转

3. 高效定位

3.1. 精准搜索

3.1.1. 搜索类

  • Ctrl+N:快速搜索某个类;此时会弹出一个搜索框,可以输入搜索关键字:

16.搜索某个类.png

在上面的搜索框界面,再按一下Ctrl+N,即可以打开全局搜索类功能,注意下图中的黄色框选部分:

17.搜索某个类同时搜索Jar包中的类.png

3.1.2. 搜索文件

  • Ctrl+Shit+N:快速搜索某个文件;与搜索类类似,会弹出一个搜索框,可以输入搜索关键字:

18.搜索某个文件.png

同样的,在上面的搜索框界面,再按一下Ctrl+Shit+N,即可以打开全局搜索文件功能,注意下图中的黄色框选部分:

19.搜索某个文件同时搜索Jar包中的文件.png

3.1.3. 搜索标识

  • Ctrl+Shit+Alt+N:快速搜索某个标识;标识可以是方法名、属性名等。也会弹出一个搜索框,可以输入搜索关键字:

20.搜索某个标识.png

同样的,在上面的搜索框界面,再按一下Ctrl+Shit+Alt+N,即可以打开全局搜索标识功能,注意下图中的黄色框选部分:

21.搜索某个标识同时搜索Jar包中的标识.png

3.1.4. Find in Path

  • Ctrl+Shift+F:打开Find in Path搜索框进行搜索:

22.Find in Path.png

在Find in Path搜索框中可以进行高级的配置搜索,包括大小写匹配、搜索整个单词、使用正则表达式搜索、指定文件类型等高级配置。

3.1.5. Search Everywhere

  • Shift+Shift:连续按两次Shift,可以大块Search Everywhere的搜索框:

23.Search Everywhere.png

可以发现,Search Everywhere是对上述的搜索做了一个综合的展示。在这个搜索框界面,我们可以使用上面的快捷键直接跳转到对应的搜索方式上。

4. 代码助手

4.1. 列操作

  • Ctrl+Shit+Alt+J:可以选中所有与当前选中内容相同的内容;需要首先选中一部分内容:

24.快速选中当前选中的其他相同内容.png

  • Alt+J:选中下一个与当前选中内容相同的内容;这个功能可以方便我们依次选中。
  • Alt+Shit+J:取消当前的选中;在依次选中的过程中,可以使用该快捷键撤销当前选中。
  • Shift+Home:快速选中光标当前位置到行首的内容;
  • Shift+End快速选中光标当前位置到行尾的内容;

注:Ctrl+Shift+U可以对选中内容进行大小写切换。

4.2. Live Template

Live Template允许我们定义常用的代码块,并且为其添加快捷的调用方式。

4.2.1. 配置main方法的Live Template

我们直接打开Setting中的Live Templates菜单,然后通过下面的方式添加一个自定义的main方法的Live Template:

25.自定义一个Live Template.png

在上面的过程中,我们定义了一个缩略为main的Live Template。其中Template Text如下:

  • public static void main(String[] args) {
  • $END$
  • }

在上面的内容中$END$表示在生产该段代码后光标挺停留的位置。

定义好了之后,我们就可以在编辑区输入main,会看到相应的提示:

26.自定义Live Template的效果1.png

回车后就会自动填充内容:

27.自定义Live Template的效果2.png

4.2.2. 配置快速键入属性定义的Live Template

我们还可以定义一个快速键入属性的Live Template,步骤如下:

28.自定义pusv Live Template1.png

定义了上面的Live Template后,我们需要做一些高级的操作,点击上图黄色框选的菜单,会出现下面的弹框,按照下面的方式填写:

29.自定义pusv Live Template2.png

这些配置指定了每个占位符代表的意思以及它的默认值,这样在使用的时候就会有以下的效果:

30.自定义pusv Live Template的效果1.png

直接回车键入:

31.自定义pusv Live Template的效果2.png

可以发现,会自动填充相应的内容,我们只需要点击Tab键自行修改即可。

4.3. PostFix

PostFix是Idea内置的一些快捷操作方式,不可添加和修改,可以在Setting中打开其设置面板。PostFix可以帮助我们快速完成某些代码形式的书写。下面介绍几种常用的PostFix。

4.3.1. case

这个PostFix可以帮助我们快速完成对某个属性的快速类型强转代码的书写:

32.Postfix-case.png

4.3.2. field

这个PostFix可以帮助我们快速完成某些属性的定义:

33.Postfix-field.png

4.3.3. for

这个PostFix可以帮助我们快速书写增强for循环的代码:

34.Postfix-for.png

4.3.4. fori

这个PostFix可以帮助我们快速书写普通for循环的代码:

35.Postfix-fori.png

4.3.5. nn

这个PostFix可以帮助我们书写判断是否为空的代码:

36.Postfix-nn.png

4.3.6. return

这个PostFix可以帮助我们书写返回值的代码:

37.Postfix-return.png

4.3.7. var

这个PostFix可以帮助我们书写补全返回值声明的代码:

38.Postfix-var.png

在PostFix中还有很多配置可以供我们使用。

4.4. Alter Enter

Alter Enter可以在我们写代码时给予更多的只能提示,一般有以下的常用操作:

4.4.1. 自动生成属性声明

39.Alter Enter实现自动生成属性声明.png

4.4.2. 自动替换foreach方式

40.Alter Enter实现自动替换foreach方式.png

4.4.3. 自动创建方法

41.Alter Enter实现自动创建方法.png

4.4.4. 自动使用String Format

42.Alter Enter实现String Format.png

4.4.5. 自动使用StringBuilder.append()

43.Alter Enter实现StringBuilder.append().png

4.4.6. 自动实现接口

44.Alter Enter实现自动实现接口.png

4.4.7. 自动导包

45.Alter Enter实现自动导包.png

5. 提升代码质量

5.1. 重构

Idea提供的一些工具可以帮助我们快速重构代码。

  • Shift+F6:换变量名;只需要在需要更改的属性上使用该快捷键可以快速的更改该变量的名称:

46.重构-更改变量名.png

  • Ctrl+F6:重构方法签名;如果我们需要统一修改某个方法名,只需要在该方法名上使用这个快捷键:

47.重构-更改方法名.png

5.2. 抽取

  • Ctrl+Alt+V:抽取为变量;这个方法可以把独立的变量值抽取为声明的变量:

48.抽取-抽取变量.png

  • Ctrl+Alt+C:抽取静态变量;我们可以将某个变量值抽取为静态变量:

49.抽取-抽取静态变量.png

  • Ctrl+Alt+P:抽取成员变量为方法参数

50.抽取-抽取成员变量为方法参数.png

  • Ctrl+Alt+M:抽取方法;选中某些代码后,使用该快捷键可以将选中的代码块抽取为方法;会弹出一个配置框,我们可以在配置框中配置方法的签名。

51.抽取-抽取代码块为方法.png

6. 版本管理

6.1. Git的集成

  • Annotate:查看本行代码提交信息;在阅读代码的时候,可能需要知道本行代码当时的提交信息,这个时候就可以使用Annotate的功能,这个功能没有默认的快捷键,可以自行配置;一般的操作方法如下:

52.查看本行代码的提交信息.png

打开Annotate后,在代码的左侧就会显示一些提交信息,鼠标在这些信息上悬停还可以查看详细的提交日志。

  • Ctrl+Shift+Alt+上箭头或下箭头:review前后代码的改动;这个功能可以方便地让我们对代码修改的位置进行无缝的前后review:

53.review代码改动.png

可以发现,凡是改动的代码,在左侧都有色块进行表示,我们可以通过上述的快捷键在前后的改动色块中快速移动。

  • Ctrl+Alt+Z:revert改动代码;有时候我们需要放弃某些代码的改动,可以在选中相应的代码后使用这个快捷键进行快速的revert。

6.2. 本地代码历史记录

Idea在我们没有进行代码托管的时候,本地保存了我们对代码的修改记录,可以方便地对代码历史版本进行查看和修改。该功能没有提供快捷键,我们可以使用Ctrl+Shift+A打开Find Action的方式,输入Local History打开一个选择窗口:

54.查看Local History.png

6.2.1. 查看本地历史记录

选择上述窗口中的Show History,会弹出一个窗口,显示了本地的历史记录:

55.本地修改的历史记录.png

我们可以在这个窗口中对本地历史记录做一定的管理。

6.2.2. 为当前本地记录创建标签

选择Put Label功能,可以对当前的本地记录创建一个历史记录的标签方便后期查看。

7. 调试

7.1. 断点调试

  • Ctrl+F8:添加断点
  • Shift+F10:运行
  • Alt+Shift+F10:弹出运行选择框
  • Shift+F9:调试
  • Alt+Shift+F9:弹出调试选择框
  • F8:一行一行运行
  • F9:Rusume,直接跳到下一个断点
  • Ctrl+Shit+F8:查看所有断点

56.查看所有断点.png

  • 点击调试窗口的Mute Breakpoint可以禁止所有断点
  • 添加条件断点;我们可以在添加了某个断点后,给这个断点设置一个执行条件,只有满足这个条件的时候,该断点才生效;只需要在打好断点显示的红点上右击或者直接按Ctrl+Shift+F8,就会弹出设置条件的对话框,在其中填入条件即可,这个条件是一个合法的Java表达式:

57.添加条件断点.png

条件断点显示的红点上会有一个问号。

  • Alt+F9:运行到光标所在的位置;某些时候,我们想跳过中间的断点,直接运行到某个位置,就可以使用这个方法忽略之间的断点直接跳到光标所在的位置。

  • Alt+F8:调试时设置属性值;在断点停顿的位置,选中某个变量,按下Alt+F8可以弹出一个对话框,在其中可以实时修改变量的值:

58.setValue.png

7.2. Run Anywhere if you can

使用Ctrl+Shift+F9可以在任何地方尝试运行,只要当前代码的上下文允许运行,Idea会从当前网上寻找一个最近的可运行上下文进行运行。

同时,使用Alt+Shift+F9或者Alt+Shift+F10可以从最近调试或运行的列表中选择一个再次进行调试或运行。

使用编辑运行或调试配置可以更改当前运行和调试的配置:

59.编辑运行环境.png

8. 其他操作

8.1. 文件操作

  • Alt+Insert:在文件窗口时使用该快捷键可以在当前文件同级目录下创建新文件。

注:如果在代码区使用Alt+Insert会弹出一个选择框用于选择创建与类相关的内容,可以创建构造方法、toString()方法、复写方法等:

60.代码区使用Alt+Insert.png

  • Ctrl+Alt+Insert:在任何窗口使用该快捷键可以在当前文件同级目录下创建新文件。
  • F5:在代码区或者文件区,使用该快捷键可以快速复制当前文件,会弹出一个对话框:

61.快速复制当前文件.png

  • F6:在代码区或者文件区,使用该快捷键可以快速移动当前文件,会弹出一个对话框:

62.快速移动当前文件.png

8.2. 文本操作

  • Ctrl+C:在某个文件上使用该快捷键,可以快速复制其的文件名。
  • Ctrl+Shift+C:在某个文件上使用该快捷键,可以快速复制其的完整的带有路径的文件名。
  • 有些时候我们需要同时复制很多内容,比如,同时复制多个文件的路径,这个时候就可以依次按上述的快捷键进行复制,Idea会维护一个剪切板,将之前复制的所有内容放在剪切板中,只需要在剪切板中查看并操作即可,使用Ctrl+Shift+V可以打开剪切板:

63.同时复制多个内容.png

8.3. 结构图

  • Ctrl+F12:快速打开当前文件的大纲:

64.文件大纲.png

在大纲中,m代表方法,f代表属性。

  • Ctrl+Shift+Alt+U:在Maven的pom.xml文件中使用该快捷键可以查看依赖的大纲图,在大纲图中使用Ctrl+N可以进行搜索。
  • Ctrl+Shift+Alt+U:在某个类文件中使用该快捷键可以查看类的继承大纲图,在大纲图中使用Ctrl+N可以进行搜索:

65.查看类继承大纲1.png

  • Ctrl+H:我们可以选中某个类名,然后按下该快捷键查看该类的继承链:

66.查看类继承大纲2.png

  • Ctrl+Alt+H:查看方法的调用链时,需要使用这个快捷键;在显示窗口顶部有一些菜单,第一个菜单表示查看的调用链中当前方法是被调用者:

67.查看方法调用链(当前方法是被调用者).png

第二个按钮表示当前方法是调用者:

68.查看方法调用链(当前方法是调用者).png