开发工具: IDEA使用技巧

这篇博客详细介绍了IntelliJ IDEA的诸多实用技巧,包括隐藏项目配置文件、常用快捷键、REST Client和SSH工具的使用。在高效开发方面,讲解了查找指令、界面定位、各种跳转、精准搜索、代码助手等功能。此外,还涵盖了模板设置、重构与抽取、版本控制、调试、运行配置等方面,旨在提升开发者在IDEA中的工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

对慕课网 IntelliJ IDEA神器使用技巧 的课程总结

1. 隐藏 IDEA 的项目配置文件

01

2. 常用默认快捷键

快捷键功能
CTR+N搜索类
CTR+SHIFT+N搜索文件
CTR+ALT+空格代码提示
ALT+F7查询在某处使用
CTR+Q查看代码提示及内容
CTR+Z撤销
CTR+SHIFT+Z恢复撤销
CTR+F12查看文件列表
SHIFT+F6重命名
Ctrl+Shift+R替换
ALT+INSERT生成 getter 和 setter 的方法
CTR+ALT+T选中某一个段代码进行 try catch
CTR+SHIT+空格新建类时 在 new 后面使用
CTR+ALT+B查看接口或者抽象类的子类
CTR+SHIT+/注释(整体注释)
CTR+/行注释
添加新增一行并切换到行首
CTR+D换行 并复制
CTR+Y删除当前行
移动代码Ctrl+Shift+↑/↓ 或者 Alt+Shift+↑/↓
CTR+ALT+L格式化代码
ALT+右箭头移动到单词或符号的末尾
ALT+左箭头移动到单词或符号的开始
CTR+ALT+左箭头跳转到上次鼠标停留处
CTR+ALT+右箭头恢复到鼠标停留处

3. 常用工具

3.1 rest client工具

02

3.2 SSH远程管理工具

03
04
05
浏览远程主机目录
06

4.高效开发

4.1 查找指令(Find Action)

IDEA 中 Help 下的 Find Action 可以帮助使用者定位到各个指令。Find Action 本身的快捷键是 Ctrl+Shift+A

07
08

4.2 界面定位

09

  • 导航栏是通过 alt + 下划线 即可快速打开下拉列表

    比如 alt+v 即可打开导航栏上 view 的下拉列表

  • 左侧和下侧通过 alt+数字 即可快速打开相关区域

    比如 alt+1 即可打开 project 区域,查看项目

4.3 各种跳转

4.3.1 项目之间的跳转

如果有打开了多个窗口,可以通过如下快捷键在多个项目间跳转。
10

4.3.2 文件之间的跳转

1)查找最近打开的文件

在项目中文件很多的情况下,有时会想找到最近浏览过的文件

ctrl+E 可以找到最近浏览过的文件
11

2)查找最近编辑过的文件

ctrl+shift+e可以找到最近修改过的文件
12

3)跳转到上次修改的位置

ctrl+shift+backspace:该跳转会精确到行

3)跳转到光标之前停留过的地方

Ctrl+Alt+向左箭头

4)跳转到光标之后停留过的地方

Ctrl+Alt+向右箭头

4.3.3 收藏并跳转

1)无序书签(F11)

在读源码时对某个好的代码块或迷惑的写法进行收藏,方便回看。
13
先使用 F11 进行标记
14
此时 alt+2 就可以看到被标记的书签记录
15

2)有序书签(ctrl+F11)

也可以给其指定编号 ctrl+F11。一旦指定编号后,就可以在任意位置提供 ctrl+标号 直接跳转过来
16
17

3)收藏(alt+shift+f)

对代码中某个方法进行收藏,且还支持列表,可以把值得学习的代码放到一个列表中。
18
19
如果在某个类中收藏了多处方法,会分别显示
20

4.3.4 字符跳转插件 emacsIdea

在编辑一个文件时,有时需要将光标跳转到以某个字母开头的位置。
如以 s 开头,文件中有多个以 s 开头的位置,这时可以借助 emacsIDEAs 插件做到快捷跳转

安装完该插件后,设置其快捷键,Ctrl+Shift+A,输入 keymaps ,找到 Manage keymaps

  • 选择 Plug-ins,在最下面找到 emacsIDEAs,找到 AceJumpWord
  • AceJumpWord 默认的快捷键为 Meta+F,右键,Add keyboard Shortcut,为其添加快捷键,比如 Shift+J

如要跳转到以 p 开头的位置,先按住 Ctrl+J,然后再输入 p,这时,emacsIDEAs 插件会为文件的所有以 p 开头的单词进行编号,如 asdf 等等。按下光标要跳转到位置对应的字母即可

4.3.5 编辑区和文件区来回跳转

跳转到文件区:alt + 1

跳回到编辑区:esc

4.4 精准搜索

1)类

  • Ctrl+N:搜索到指定的Class
    21

  • Ctrl+N+N:搜索到所依赖的JAR包中的类
    22

2)文件

  • Ctrl+Shift+N:可搜索到指定的文件
  • Ctrl+Shift+N+N:可搜索到所依赖的JAR包中的文件

3)关键字

  • Ctrl+Alt+Shift+N:可以搜索关键字,包括变量名、函数名和类名等。
    23

4)字符串

要搜索字符串,可以通过 Ctrl+Shift+F 来实现
24
有几个选项:

  • Match case:是否匹配大小写

  • Words:是否是一个单词

  • Regex:通过正则表达式搜索

  • File mask:可以指定在哪类文件下去搜索

  • In Project:在项目下搜索

  • Module:在模块下搜索

  • Directory:在目录下搜索

  • Scope:在指定区域内搜索,还可以自定义搜索区域

4.5 代码助手

列操作

比如要将左边的响应码转换成右边的枚举类,一般操作都会新建一个枚举类对象再一个个的复制粘贴。
25

  • 首先 ctrl+shift+右箭头 选中第一个单词
    26

  • 选中后 ctrl+shift+u 将其转为大写

  • 剪切,按 home 键移动到行首,粘贴
    27

  • 添加左括号,然后 ctrl+右箭头 跳到 “100” 的末尾并添加右箭头。删除多余部分,补齐分号

28

这样就完成了第一行的操作。需要的是对所有行进行同样的批量操作。使用 ctrl+shift+alt+J 来完成批量操作。将第一步操作改为“在冒号处按住批量操作的快捷键”即可
29

1.光标选中相关操作

  • Ctrl+Shift+右箭头:把光标移动到下一个单词并选中。
    ​ Find Action中搜索Move Caret to Next Word With Slection
  • Ctrl+右箭头:把光标移动到下一个单词。
    ​ Find Action中搜索Move Caret to Next Word
  • 大小写转换 :Ctrl+Shift+U
  • Home:将光标移动到本行开始的位置
  • End:将光标移动到本行最后的位置
  • Ctrl+Alt+Shift+J:选中所有相同的字符串,多光标操作
  • F2:自动将光标定位到报错的位置
  • Ctrl+Alt+L:格式化代码

5. 模板

5.1 代码提示模板

案例1

30
31
32
33

案例2

34

案例3

35

案例4

36

使用时 var1 的内容输入完成后按 tab 键光标就直接到等号右边 var2 了

5.2 设置组件内容模板

比如说自定义HTML文件的模板
37

#[[$Title$]] 改为 自定义组件内容模板 ,新建html文件后即可生效
38

5.3 注释模板

5.3.1 类注释模板

仅对设定之后创建的文件效
39

/**
* @Auther: xxx
* @Date: ${DATE}
* @Description: ${PACKAGE_NAME}
* @version: 1.0
*/

5.3.2 方法注释模板

和代码提示模板的方式一样
40

/**
 * 功能描述: <br>
 * 〈$END$〉
 *
 * @param: $param$
 * @return:$return$
 * @since: 1.0.0
 * @Author:$user$
 * @Date: $DATE$ $TIME$
 */

6. postfix

6.1 什么是 postfix

for 循环的一般写法,写玩完整的for循环语句

Integer[] arr = {1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i < arr.length; i++) {
	System.out.println(arr[i]);
}

postfix 简化编写
41
Settings 下的 Postfix Completion 可以查看有哪些后缀实现

42

看上去和 livetemplate 类似,但是它是不可编辑的,只有这些固定的模板

6.2 常用的postfix

  • for
    43

  • fori:for循环
    44

  • sout:打印输出。例子:new Date().sout

  • field:引入表达式字段

    //当忘记声明arg变量时,使用field
    public class User {
      public Foo(int age) {
        age.field
      }
    }
    
    //使用后,会自动生成属性
    public class User {
        private final int age;
    
        public User(int age) {
            this.age = age;
        }
    }
    
  • return

    String m() {
        "result".r
    }
    
    //生效后
    String m() {
       return "result";
    }
    
  • nn:检查表达式是否为空
    45

7. 智能提示 alt+enter

  • 自动创建函数

    public static void main(String[] args) {
            f1();//Alt+Enter就会自动创建出下面的函数
    }
    
    private static void f1() {
    }
    
  • List Replace

    for (int i = 0; i < list.size(); i++) {
        String item = list.get(i);
    }
    
    //选中for循环按住alt+enter出现Replace with foreach,会将代码替换成如下最简形式
    for (String item : list) {
    }
    
  • 字符串 format 或 build
    46

    //format后
    System.out.printf("name:%s,age:%d%n", name, age);
    
    //build后
    System.out.println(
        new StringBuilder().append("name:").append(name).append(",age:")
                       .append(age).toString());
    
  • 实现接口 47

    选择好包后便会自动创建好实现类

  • 单词拼写

    idea 会自动检测单词是否拼错,在可能拼错的单词下面都会有波浪线
    48

    选择第一个时,它会给出一些建议
    49

  • 导包

8. 重构与抽取

8.1 重构

8.1.1 重命名(Shift+F6)

如下代码是输出全名称,显然变量 abc 这种不规范的命名使得代码的可读性大大降低
50
对参数 abc 使用 shift+f6,修改整个类中的所有abc变量
51

8.1.2 重构函数(Ctrl+F6)

相对上图中的 sayHello 方法进行修改,参数再加上一个 lastName

  • Ctrl+F6:添加参数
    52

    alt+insert 新增参数,alt+delete 删除参数。编写完后 refactor
    53

  • 先在调用的地方添加实参,然后直接 Alt+Enter
    54

8.2 抽取

Refactor->Extract->Variable

  • 抽取变量:Ctrl+Alt+V

    //抽取前
    System.out.println("sun");
    System.out.println("sun");
    System.out.println("sun");
    //抽取后
    String sun = "sun";
    System.out.println(sun);
    System.out.println(sun);
    System.out.println(sun);
    
  • 抽取成静态常量:Ctrl+Alt+C

    public static final String SUN = "sun";
    
    public static void main(String[] args) {
        System.out.println(SUN);
        System.out.println(SUN);
        System.out.println(SUN);
    }
    
  • 抽取成员变量:Ctrl+Alt+F

    private static String sun;
    
    public static void main(String[] args) {
        sun = "sun";
        System.out.println(sun);
        System.out.println(sun);
        System.out.println(sun);
    }
    
  • 抽取形参:Ctrl+Alt+P

    //抽取前
    private String lastName;
    public void sayHello(String firstName) {
        String say = lastName;
    }
    
    //抽取后
    private String lastName;
    public void sayHello(String firstName, String lastName) {
        String say = lastName;
    }
    
  • 抽取函数:Ctrl+Alt+M

9. 版本控制

9.1 本地版本

local history

  • show history:查看本地所有的更改。自定义的快捷键为 alt+shift+h
    55

  • put label:做了更改后,为本次更改做个标记,可以在历史中看到左侧的标签。自定义的快捷键为alt+shift+p
    56
    57
    58

9.2 使用git

  • annotate:注释。在显示行号的位置右击,选中 Annotate 即可查看当前行代码的 commit、author 和 date
  • 定位修改处:Previous Change。快捷键 Ctrl+ALT+SHIFT+向上箭头
  • 撤销:Ctrl+alt+Z
    • 在改动处使用此快捷键会撤销之前的代码
    • 在未改动处使用此快捷键会撤销所有的修改代码,回退到最近的那个版本
    • 选中文件夹后使用此快捷键会撤销整个文件夹和其下面的文件

10. 关联

10.1 关联Spring

  • File->Project Structure->Facets->+按钮->Spring 把接口和实现类对应起来,bean 是在哪个文件扫描到的等
    59
    60

关联 Spring 的配置文件
61

10.2 关联数据库

关联数据库

62
63
64

智能提示

  • 书写Mapper时,IDEA就会提示数据库的相关信息(表名、列名)
    65
    66
  • 可以在视图中重构表名、列名,Shift+F6
    67
    68

11. 调试程序

  • Ctrl+F8:添加断点(Toggle Line Breakpoint)

  • Shift+F9:Debug方式启动程序

  • F8:单步运行(Step Over)

  • F9:继续(resume)。会跳转到下一个断点,如果后面没有断点了,则直接结束程序

  • Ctrl+Shift+F8:查看所有断点

  • Mute Breakpoint(禁止所有断点),一旦在debug模式中禁止了所有断点,再按F9时,将跳过余下的所有断点

    69

  • 条件断点:ctrl+shift+F8。条件必须是合法的 java 表达式
    70

  • alt+F8:表达式求值。可以对程序中的变量做一些操作如 list.size 等.

    71
    72

  • Alt+F9:运行到光标所在行(Run to Cursor)。从断点运行的位置直接让程序运行到光标所在的行
    73

  • setValue,在 debug 窗口,选中要设值得变量,通过 F2 可以在调试时动态地改变变量的值

    比如,测试 list 等于 null 时方法的返回情况
    74
    75
    通过 F2 将 list 的值设置为 null
    76

12. 随处运行

12.1 运行当前上下文

如图,有一个 Demo 类,其 main 方法是可以运行的。它还有一个单测类,单测中的两个方法也是可以单独运行。

77
78

配置 debug context configuration 的快捷键为 alt+shift+d 后。当光标在 main 方法类或单测中的 foo 方法、bar 方法内时,通过 ctrl+shift+d,即可运行。

这里的 context 是从光标所停留的地方向上去找能运行的最小的上下文。
比如上图中此时的光标在第 13 行,那么此时的所能运行的最小的上下文就是 bar 方法,此时通过 debug context configuration 运行的就是 bar 方法;如果光标停留在第 10 行,那最小的上下文就是 DemoTest 类,此时运行的是该类中的所有单测方法。

其便捷之处在于如果想运行某个 main 或单测方法,无需在指定出去运行,只有在上下文范围内通过 debug context configuration 即可。

12.2 在当前可运行列表中选择一个运行

通过 shift+alt+F9 显示出所有之前运行过的部分,从中选择一个运行即可。
79

12.3 编辑当前运行

80

想要设定 main 方法中的形参 agrs 的值

设定快捷键
81
82

13. 文件操作

13.1 新建文件(ctrl+alt+insert)

在某个文件内使用此快捷键时,创建的文件将会和该文件在同一个目录下
83

可以在项目结构的指定位置下创建文件。比如在pojo目录下通过该快捷键创建一个 User.java 文件
84

13.2 复制当前文件(F5)

对某个文件使用F5时,将会在该文件的同级目录下copy出一份相同的文件
85

13.3 移动当前文件(F6)

除了剪切复制外,移动当前的文件到指定的目录下还可以使用F6
86

14. 文本操作

  • 复制文件名:选中文件名后按 Ctrl+C

  • 复制文件完整路径:Ctrl+Shift+C

  • 复制多个文件名:ctrl+shift+v

    比如,对这三个文件都进行Ctrl+C的复制操作,
    87

    然后 Ctrl+Shift+V 打开 idea 自带的剪切板,它会记录之前复制的操作

    88

    通过数字键即可选中需要的内容

15. 结构图

  • Ctrl+F12:查看当前 field、method 大纲(File Structure)
    89

  • Ctrl+Alt+Shift+U:查看 maven 依赖大纲。或 pom.xml 右击->Maven->Show Dependency

  • Ctrl+Alt+Shift+U:查看类图大纲。或找到代码右键 Diagrams
    90

  • Ctrl+H:查看类继承结构
    91

  • Ctrl+Alt+H:查看当前函数调用了哪些其他函数或当前函数被哪些函数调用,可以帮助看其他项目源码的结构

    • 当前函数被哪些函数调用
      92

    • 查看当前函数调用了哪些其他函数调用
      93

bar1 被 foo 调用,foo 被 main 调用
94

16.快捷键表格文档

点击 IDEA 上方菜单栏的 Help,再点击 Keymap Reference,就可以打开 IDEA 自带的快捷键文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值