IntelliJ IDEA快捷键和使用技巧

IDEA Mac 快捷键说明

Mac键盘符号和修饰键说明:

  • : command
  • : alt(Option)
  • : shift
  • : ctrl
  • :Escape (Esc)

idea 在 mac 上有两套快捷键,本文基于 mac 10.5+。

一、编辑

快捷键

⌘ + ⇧: 自动结束代码,行末自动添加分号、括号,如果已经完成,换行编辑。使用率极高。
⌘ + [   : 上次编辑位置
⌘ + ⌥ + v: 抽取变量。比如新建一个对象,或者获取方法返回对象,一般采用此方式叫快,且智能命名。
⌘ + d:  复制一行
⌘ + x:  剪切
⌘ + c/v:  复制/粘贴。如果使用了vim,设置vim使用系统粘贴板,这样,在vim下复制的内容,也可以通过此快捷键粘贴。
⌘ + f/h:  查找/替换
⌘ + ⇧ + f/r: 全局查找替换,或者说在路径下查找替换。
⌘ + p : 显示方法参数
⌘ + ⌥ + L : 格式化代码
⌘ + Enter: 智能的拆分拼接的行
⌘ + ⌥ + T: 包围代码,也很适用。特别是在要对代码try-catch等操作,先选中代码,按此快捷键
⌘ + (+/-) : 折叠/展开当前代码块,+ shift 操作所有代码块。
⌥ + 方向键上/下:  增/减量选择。此快捷键的好处是一块代码,如果用鼠标,不能快速确认代码块的开始结束位置。
⌥ + Enter: 显示意向动作和快速修复代码。
F2 + (): 跳到下()一个错误位置。如果保存或者警告,按F2,即可跳对应位置,接着使用⌥ + Enter,告诉你怎么解决。
⇧ + enter: 开始新的一行
⌃ + ⇧ + J: 智能的将代码拼接成一行

# 重构相关
F5/F6: 复制、移动文件
Shift + F6 重命名文件
⌘ + F6 更改签名
⌘ + ⌥  + M 将选中的代码提取为方法
⌘ + ⌥  + V 提取变量
⌘ + ⌥  + F 提取字段
⌘ + ⌥  + C 提取常量
⌘ + ⌥  + P 提取参数

编辑代码时,除了快捷键可以加速编码,还有live Templates,postfix等。

postfix

如果你还不知道怎么用,请看Perferences-Editor-Genral-Postfix Completion。有很多常用的快捷操作,比如new, nnopt

Live Templates

配置位置Perferences-Editor-Live Templates。 默认比如:

  • psvm: main方法
  • psfs: 字符串常量
  • pv: public void method

强大在于可以自定义,比如我编写一些pojo类时,为了简化代码,我一般使用lombok插件如:

@Getter
@Setter
@ToString
public class UserVO {
    private String name;
    private Long id;
}

再快一点,三个注解都是可以快速生产,于是我自定义一个:

只需要输入gs,按tab键即可自动生成代码。

再比如写单元测试,测试方法体也很有必要创建一个模板:

@org.junit.Test
public void $METHOD_NAME$Test_$EXPECT$() {
    $END$
}

可以根据自己的习惯和需求定义,创建方式见creating-and-editing-live-templates

二、查看代码

第一部分主要介绍编辑的一些快捷键和框架方式,只是介绍了常用的查找替换。下文详细介绍,打开一个maven项目,查看代码的一些快捷键方式。

首先从clone代码到本地,如下。

用idea打开

我喜欢直接从终端(terminal)打开项目,从file open或者maven add 太慢了,一行命令搞定,干嘛操作那么多步。

idea pom.xml 

如果你没有idea 命令,通过Tools-Create Command-line Launcher创建。

这种方式以一个新的window打开项目,如果同时打开了多个,可以通过快捷键 (⌘ + `) 切换到下一个项目窗口。

tab 和工具栏

⌘ +o: 查找类 ⌥ + F1: 查看当前文件在项目中的位置(快捷键后选择project -view) ⌘ + 1: 只是想打开项目视图工具栏。 ⌘ + ⇧ + ←: 如果发现项目视图栏不够宽,使用此快捷键移动分割线。 : 此时光标在项目栏,要且到编辑区,esc即可,或者再按一次⌘ + 1关闭项目栏。 ⌘ + w: 关闭编辑区的tab

F1 : 把光标放在调用方法上,显示doc文档. ⌘ + b: F1看到的doc还不够,想跳到方法声明的地方查看。 ⌘ + ⌥ + b : 不像只看接口等,直接看方法的实现。 ⌘ + u: 从实现的方法直接跳父类方法或者接口。 ⌘ + [: 看完后回到原来的位置。 ^ + ⌥ + b: 跳到类型声明的地方(光标可以在任意位置)。 ⌘ + L: 根据error的堆栈定位,直接跳到某行。 ⌘ + F12: 弹出当前文件结构层。 ⌘ + F7: 文件中使用方法的地方。 ⌥ + F7: 所有调用方法的地方。 ⌘ + E 显示最近访问过的文件

三、编译调试

⌘ + F9 :编译Project
⌘ + ⇧ + F9 :编译选择的文件、包或模块
^ + ⌥ + R: 弹出 Run 的可选择菜单
^ + ⌥ + D : 弹出 Debug 的可选择菜单
^ + ⇧ + D : debug当前方法
^ + ⇧ + R: run 当前方法
⌘ + F2: 停止当前run/debug
⌘ + R: 重新运行
F7/F8/F9: debug时,跳入、下一步、跳过。

四、其他快捷键

⌘ + ^ + f: 全屏切换
⌘ + 1...9: 打开对应工作栏比如5是debug栏。 terminal用得很多,我设置 ⌘ + 0 打开终端。
⌘ + N: 在project栏可以创建文件,在编辑窗口可以覆盖方法,生产构造方法等

测试驱动开发,一般把测试文件和源文件分割排开,如下:

⌘ + ⇧ + T: 跳到测试类(如果没有,会提示创建) ⌘ + ^ + S: 我自定义的垂直分割屏幕的快捷键 ⌥ + tab :切换光标到下一个分割窗口

git等版本控制、maven编译打包等我喜欢用命令,相关快捷键跳过。

其他

插件:

  • Key promoter X : 用鼠标操作时,提示对应的快捷键。
  • AceJump: 快速移动光标到想要的字母上,配合ideavim超好用

软件:

  • cheatsheet: 长按⌘,显示软件的快捷键,适用所有mac软件。
  • keyCastr:显示键盘按键,主要用于录屏等。
CONTENTS