IntelliJ IDEA 快捷键

获取快捷键参考和提示

如果你是一名刚刚上手 IntelliJ IDEA 的萌新,那么推荐你下载 Key Promoter X 这款插件,这个插件能在你执行某些操作的时候(如果该操作有对应的快捷键),那么会在 IntelliJ IDEA 的右下方弹出一个卡片,告诉你操作对应的快捷键是什么,效果如下所示:
screenshot_17105.png
当然,你也可以通过菜单栏 help -> keymap Reference 去获取 IltelliJ IDEA 的完成快捷键列表:

image.png


下面列上了 IntelliJ IDEA 的快捷键参考翻译版,如下所示:

编辑

  • ctrl + 空格 代码补齐(类、方法、变量等)
  • ctrl + shift + 空格 智能代码补齐
  • ctrl + shift + 回车 完整代码补齐(格式化代码,跳转到下一行,补齐代码比如括号’(‘花括号’}’)
  • ctrl + p 查看方法参数,在调用方法参数中
  • ctrl + q 查看方法注释/文档
  • shift + f1 外部文件
  • ctrl + hover 查看简要信息(类,方法,参数。。。)
  • ctrl +f1 显示语法错误警告(使用鼠标悬浮过于鸡肋)
  • alt + insert 生成代码(构造函数,getter/setter,hashCode/equals/toString)
  • ctrl + o 重写方法
  • ctrl + i 实现方法
  • ctrl + alt + t 代码外部环绕(if…else,try-catch,for,synchronized,etc…)
  • ctrl + / 单行注释和取消注释
  • ctrl + shift + / 多行(块)注释和取消注释
  • ctrl + w 选中单词(变量,方法名,类…)
  • ctrl + shfit +w 取消选中或回退选中之前状态
  • alt + q:内容信息
  • alt + 回车:显示idea快速修复(导入类,补充括号…)
  • ctrl + alt + l : 格式化代码
  • ctrl + alt + o (快速导入)
  • ctrl + alt + i 自动缩进水平线(使用 ctrl + alt + l)代替
  • tab/shift + tab 缩进/回退当前行缩进
  • ctrl + x 剪切当前行
  • ctrl + c 复制当前行
  • ctrl + v 粘贴
  • ctrl + shift + v
  • ctrl + d 复制当前行或选中块到下一行
  • ctrl + y 删除行
  • ctrl + shift + j 将下一行内容加入到当前行结尾
  • ctrl + 回车 分隔当前行
  • shift + 回车 开始新的一行
  • ctrl + shift + u 选中内容切换大小写
  • ctrl + sfhit ]/[ 跳转到代码块开始或结束
  • ctrl + delete/backspace 删除单词或结束(使用ctrl+左右箭头+backspace或ctrl + w + backspace)
  • ctrl + +/- 展开或折叠代码块
  • ctrl + + 展开代码块
  • ctrl + - 折叠代码块
  • ctrl + f4 关闭当前活动状态窗口或选项卡

搜索

alt + f7/ctrl + f7 查找引用

ctrl + shfit + f7 高亮查找引用

ctrl + alt + f7 全局查找引用,列表展示

导航

ctrl + n 查找类(默认为当前项目,使用ctrl+n可切换查找源)

ctrl + shift + n 查找文件(默认为当前项目,使用ctrl+shift+n可切换查找源)

ctrl + alt + shift + n 查找引用(搜索关键字可以为,变量名,方法名)

alt + 左右箭头 切换文件选项卡

f12 回退到上一个窗口

esc 关闭当前活动窗口(只要是窗口都可以通过esc关闭)

ctrl + shift + esc 隐藏活动窗口或最后一个活动窗口( 和windows快捷键冲突 )

ctrl + shift + f4 关闭当前运行窗口/消息窗口/查找窗口等

ctrl + g 跳转到指定行

ctrl + e 打开最近编辑文件列表

ctrl + alt + 左右 导航回退

ctrl + shift + backspace 导航到最后一次编辑所位置

alt + f1 打开导航窗口列表

ctrl + b/ctrl + 鼠标左键 转到定义(方法的定义,类的定义,变量的定义…)

ctrl + alt + b 转到实现(抽象方法的实现)

ctrl + shift + i 弹窗打开定义

ctrl + shift + b 转到类型定义(与搜狗输入法冲突)

ctrl + u 转到父类方法或者父类

alt + 方向键上或下 跳转到上一个下一个方法

ctrl + [/] 移动到代码块开始或结束

ctrl + F12 弹窗打开文件结构

shift + esc 关闭导航窗口

ctrl + shift + h 方法层次结构

ctrl + alt + h 方法调用层次

f2 / shift + f2 跳转到上一个/下一个错误位置

f4/ctrl + 回车 编辑源/源定义

alt + home 显示导航栏

f11 切换书签

ctrl + f11 使用标记切换书签

ctrl + 书签定义符号 跳转书签定义行

ctrl + [0-9] 跳转到标签编号所在行

shift + f11 弹窗打开包含标签的类

搜索和替换

连续按两次shift 搜索窗口

ctrl + f 内容查找

f3 / shift+f3 查找上一个或下一个

ctrl + r 替换

ctrl + shift + f 从项目中查找类似于(ctrl+alt+shift+n)更强大的搜索,全文检索

ctrl + shift +r 替换整个项目引用

实时模板

ctrl + alt + j 模板外部环绕

ctrl + j 插入实时模板

public static void main(String[] args) {
    // live template
    // iter jdk1.5迭代风格
    for (String arg : args) {

        }
    // inst 使用instanceof和检查对象类型
    if (args instanceof Object) {
        Object o = (Object) args;

        }
    // itco 迭代java.util.collection 元素
    for (Iterator iterator = collection.iterator(); iterator.hasNext(); ) {
        Object next = iterator.next();

        }

    // itit 迭代java.util.Iterator元素
    while (iterator.hasNext()) {
        Object next = iterator.next();

        }

    // itli 迭代java.util.List元素
    for (int i = 0; i < list.size(); i++) {
        Object o = list.get(i);

        }
    // psf public static final
    // thr throw new 
}

重构

f5 拷贝一个新文件

f6 移动一个文件

alt + delete 安全删除

shift + f6 重命名(类名、文件名、变量名、方法名、参数名)

ctrl + f6 更改签名(方法等)

ctrl + alt + n 内联

ctrl + alt + m 提取方法

ctrl + alt + v 提取变量

ctrl + alt + f 提取字段

ctrl +alt+c 提取内容

ctrl + alt + p 提取参数

调试

编译和运行

ctrl + f9 标记项目(编译修改和依赖)

ctrl + shift f9 编译选中的文件、包或模板

shift + f10 运行或者调试(运行)

ctrl + shift + f10 从编辑器运行上下文配置信息 (运行main方法)

版本控制

ctrl+k/ctrl + t 提交项目到版本控制/从版本控制中更新

alt + shift + c 查看更新日志

alt + backquote(`) 打开版本控制操作选项卡

其他

alt + [0-9] 打开对应的窗口

ctrl + s 保存所有

ctrl + alt + y 同步

ctrl + shift + f12 切换最大化编辑器

alt + shift + f 添加到收藏

alt + shift + i 使用默认配置文件检查代码风格

ctrl + backquote(`) 切换风格(view theme,code theme,key map,view mode)

ctrl + alt + s 打开设置窗口

ctrl + alt + shift + s 打开项目结构窗口

ctrl + shift + a 执行命令(例如:Java Class

Java Class: 在当前所在包新建文件
rename file:重命名文件
view mode:显示模式
show in explorer: 打开文件所在文件夹
.....

ctrl + tab 在标签窗口和文件窗口之间切换

奇淫技巧

  1. 任何文件或者文件夹列表或面板都支持搜索或筛选(直接键盘输入即可筛选)
  2. 任何位置都支持方向键
  3. Favorites很方便可以收藏记录重要的文件,方便检索
  4. 任何对话框或窗口都可以通过esc退出
  5. 任何导航窗口都可以通过shift + esc关闭
  6. 任何选项卡都支持alt + </>(alt + 方向键左/方向键右)进行切换
  7. 对于包可以通过enter进行展开或者关闭
  8. 任何你看到的快捷键说明或者命令都可以通过命令行执行
  9. alt+鼠标左键可进行多行操作
  10. 对于搜索,连续按对应快捷键可切换查找源
  11. alt + enter可以进行正则检查、json检查

我们以文件和打开/关闭面板为例,来看下快捷键的使用:

文件

查找类文件

可以通过 Command + o/Ctrl + o(字母o) 来搜索相关的类,只需要在输入框中输入你所需要查找的关键词,即可搜索对应的类,需要注意的是该搜索范围匹配类文件。

image.png

查找文件

如果你查找其他文件,例如项目的配置的文件 application.yml,那么你可以通过 Command + Shift + o/Ctrl + Shift + o 来进行查找:

image.png

查看文件结构

在打开一个文件之后(以 ArrayList)文件为例子,可以通过 Ctrl/Command + 7 来查看文件的结构:

image.png
当然,也可以通过 Ctrl+F12/Command + F12 来查看文件的结构:

image.png
在文件结构中(以类/接口/枚举/注解文件为例子),包含了属性、方法、字段。你可以通过改快捷键快速的去定位到对应的属性、方法、字段。只需要打开面板,然后输入需要匹配的关键词即可,例如查找 ArrayListadd 方法:

image.png
除了支持 Java 文件(类、枚举、注解、接口等),在一些其他的文件上也有效果,例如 .xml 文件、.yml 文件等。

查看类的继承体系

鼠标右键悬浮在 Diagrams 然后选择 Show Diagram... 即可查看类的继承体系。

image.png
ArrayList 为例子,呈现的效果如下图所示:

ArrayList.png

打开/关闭 面板

你可以通过 Ctrl/Command + 1-9 打开对应的面板,例如 Ctrl/Command + 1 可以打开 Project ,这是因为在对应的面板都有一个对应的数字标记:

image.png
同样的道理:

  • 通过 Ctrl/Command + 2 可以打开收藏面板。
  • 通过 Ctrl/Command + 4 可以打开 Run 面板。
    重复按下面板对应的快捷键即可关闭对应的面板,如果该面板有一个减号的 icon 你还可以通过 Shift + esc 去关闭:
    image.png
    当然,有些面板是没有数字标记的,比如 DataBaseMavenTerminal 等。我们会在稍后介绍在记不住快捷键的情况下,如何通过 指令/命令/action 来执行到对应的快捷键。

Ctrl/Command + Shift + A

如果你记不住快捷键,如果你需要在 Mac/Linux/Windows 上使用 IltelliJ IDEA 又不想记每个版本对应的快捷键,那么推荐使用 Ctrl/Command + Shift + A 快捷键。
如果说每一个快捷键都对应一个操作(option)/动作(action),反过来,也可以通过一个操作(action)/动作(action)去执行快捷键对应的操作,这样带来的好处是:

  1. 方便记忆,有些快捷键是没有语意的。
  2. 解决了在 Mac/Linux/Windows 上使用 IltelliJ IDEA 需要记多份快捷键的烦恼。
获取/了解有哪些 action

打开 settings -> Keymap ,然后按住image.png按钮,执行对应的快捷键,即可找到该快捷键的action,例如在 Mac 中格式化代码的快捷键是 option + command + l ,该快捷键对应的 action 是 Reformat code。
当然,当你想要执行某些操作的时候,你只需要想如果让你命名这个操作,那么你会取什么名字,然后在 find in action 中尝试一下即可。

执行action

通过 Ctrl/Command + Shift + A 即可执行 action,例如格式化代码对应的 action 是 Reformat Code,我们只需要按下 Ctrl/Command + Shift + A ,然后在输入框中输入 Reformat Code 即可格式化代码:

image.png
相对于记忆快捷键,记 action 方便了许多,而且对于一些默认不支持快捷键的操作,也可以通过 Ctrl/Command + Shift + A 去执行:

  1. 想打开 Terminal 界面,只需要输入 terminal 即可。
  2. 想打开 Database 界面,只需要输入 Database 即可。
  3. 想进入设置页面,只需要输入 settings 即可。
  4. 想进入插件管理页面,只需要输入 plugins 即可。
  5. 想进入 Project Structure ,只需要输入 Project Structure 即可。
  6. 想格式化代码,只需要输入 Reformat Code 即可。
  7. 想生成 构造函数、getter/setter 方法等,只需要输入 Generate 即可。
  8. 想查看该类的父类,只需要输入 Go to Super Class
  9. 重命名文件,只需要输入 Rename File 即可。
    当然 action 支持模糊检索,比如 Go to Super Class ,你只输入 super 也能匹配。

更改快捷键

通过 settings -> Keymap 打开对应的面板,可以输入 aciton 进行检索,也可以按住搜索 icon ,输入对应的快捷键搜索,检索到需要修改的项之后,点击第三个按钮即可进行对应的修改:

image.png

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值