Windows/Mac IntelliJ IDEA 快捷键汇总
Windows中Intellij IDEA快捷键
自动代码
常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。
例如要输入for(User user : users)只需输入user.for+Tab ;
再比如,要输入Date birthday = user.getBirthday()只需输入user.getBirthday().var+Tab即可。
代码标签输入完成后,按Tab,生成代码。
- Ctrl+Alt+O 优化导入的类和包
- Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate)
- fori/sout/psvm + Tab
- Ctrl+Alt+T 生成try catch 或者 Alt+enter
- CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
- Ctrl + O 重写方法
- Ctrl + I 实现方法
- Ctr+shift+U 大小写转化
- ALT+回车 导入包,自动修正
- ALT+/ 代码提示
- CTRL+J 自动代码
- Ctrl+Shift+J,整合两行为一行
- CTRL+空格 代码提示
- CTRL+SHIFT+SPACE 自动补全代码
- CTRL+ALT+L 格式化代码
- CTRL+ALT+I 自动缩进
- CTRL+ALT+O 优化导入的类和包
- ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
- CTRL+E 最近更改的代码
- CTRL+ALT+SPACE 类名或接口名提示
- CTRL+P 方法参数提示
- CTRL+Q,可以看到当前方法的声明
- Shift+F6 重构-重命名 (包、类、方法、变量、甚至注释等)
- Ctrl+Alt+V 提取变量
查询快捷键
- Ctrl+Shift+Backspace可以跳转到上次编辑的地
- CTRL+ALT+ left/right 前后导航编辑过的地方
- ALT+7 靠左窗口显示当前文件的结构
- Ctrl+F12 浮动显示当前文件的结构
- ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
- CTRL+ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
- Ctrl+Shift+Alt+N 查找类中的方法或变量
- 双击SHIFT 在项目的所有目录查找文件
- Ctrl+N 查找类
- Ctrl+Shift+N 查找文件
- CTRL+G 定位行
- CTRL+F 在当前窗口查找文本
- CTRL+SHIFT+F 在指定窗口查找文本
- CTRL+R 在 当前窗口替换文本
- CTRL+SHIFT+R 在指定窗口替换文本
- ALT+SHIFT+C 查找修改的文件
- CTRL+E 最近打开的文件
- F3 向下查找关键字出现位置
- SHIFT+F3 向上一个关键字出现位置
- 选中文本,按Alt+F3 ,高亮相同文本,F3逐个往下查找相同文本
- F4 查找变量来源
- CTRL+SHIFT+O 弹出显示查找内容
- Ctrl+W 选中代码,连续按会有其他效果
- F2 或Shift+F2 高亮错误或警告快速定位
- Ctrl+Up/Down 光标跳转到第一行或最后一行下
- Ctrl+B 快速打开光标处的类或方法
- CTRL+ALT+B 找所有的子类
- CTRL+SHIFT+B 找变量的类
- Ctrl+Shift+上下键 上下移动代码
- Ctrl+Alt+ left/right 返回至上次浏览的位置
- Ctrl+X 删除行
- Ctrl+D 复制行
- Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/…/ )
- Ctrl+H 显示类结构图
- Ctrl+Q 显示注释文档
- Alt+F1 查找代码所在位置
- Alt+1 快速打开或隐藏工程面板
- Alt+ left/right 切换代码视图
- ALT+ ↑/↓ 在方法间快速移动定位
- CTRL+ALT+ left/right 前后导航编辑过的地方
- Ctrl+Shift+Backspace可以跳转到上次编辑的地
- Alt+6 查找TODO
其他快捷键
- SHIFT+ENTER 另起一行
- CTRL+Z 倒退(撤销)
- CTRL+SHIFT+Z 向前(取消撤销)
- CTRL+ALT+F12 资源管理器打开文件夹
- ALT+F1 查找文件所在目录位置
- SHIFT+ALT+INSERT 竖编辑模式
- CTRL+F4 关闭当前窗口
- Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义
- Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)
调试快捷键
其实常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以让运行过的代码从头再来。
- alt+F8 debug时选中查看值
- Alt+Shift+F9,选择 Debug
- Alt+Shift+F10,选择 Run
- Ctrl+Shift+F9,编译
- Ctrl+Shift+F8,查看断点
- F7,步入
- Shift+F7,智能步入
- Alt+Shift+F7,强制步入
- F8,步过
- Shift+F8,步出
- Alt+Shift+F8,强制步过
- Alt+F9,运行至光标处
- Ctrl+Alt+F9,强制运行至光标处
- F9,恢复程序
- Alt+F10,定位到断点
重构
- Ctrl+Alt+Shift+T,弹出重构菜单
- Shift+F6,重命名
- F6,移动
- F5,复制
- Alt+Delete,安全删除
- Ctrl+Alt+N,内联
十大Intellij IDEA快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。
以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。
1 智能提示
Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所以很多时候都不会手动敲这两个快捷键(除非提示框消失了)。
用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速修复(即Eclipse中的Quick Fix功能)。当智能提示为我们自动补全方法名时,我们通常要自己补上行尾的反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾的字符。而且不只是括号,例如敲完if/for时也可以自动补上{}花括号。
最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架的配置文件和类,以静制动,在看似“静态”的外表下,智能地扫描理解你的项目是如何构造和配置的。
2 重构
Intellij重构是另一完爆Eclipse的功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。尤其看过《重构-改善既有代码设计》之后,有了Intellij的配合简直是令人大呼过瘾!也正是强大的智能和重构功能,使Intellij下的TDD开发非常顺畅。
切入正题,先说一个无敌的重构功能大汇总快捷键Ctrl+Shift+Alt+T,叫做Refactor This。按法有点复杂,但也符合Intellij的风格,很多快捷键都要双手完成,而不像Eclipse不少最有用的快捷键可以潇洒地单手完成(不知道算不算Eclipse的一大优点),但各位用过Emacs的话就会觉得也没什么了(非Emacs黑)。
此外,还有些最常用的重构技巧,因为太常用了,若每次都在Refactor This菜单里选的话效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V则是提取变量。关注Java技术栈微信公众号,在后台回复关键字:IDEA,可以获取一份栈长整理的 IDEA 最新技术干货。
3 代码生成
这一点类似Eclipse,虽不是独到之处,但因为日常使用频率极高,所以还是罗列在榜单前面。常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码,用Ctrl+J可以查看所有模板。
后面“辅助”一节中将会讲到Alt+Insert,在编辑窗口中点击可以生成构造函数、toString、getter/setter、重写父类方法等。这两个技巧实在太常用了,几乎每天都要生成一堆main、System.out和getter/setter。
另外,Intellij IDEA 13中加入了后缀自动补全功能(Postfix Completion),比模板生成更加灵活和强大。例如要输入for(User user : users)只需输入user.for+Tab。再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。
4 编辑
编辑中不得不说的一大神键就是能够自动按语法选中代码的Ctrl+W以及反向的Ctrl+Shift+W了。此外,Ctrl+Left/Right移动光标到前/后单词,Ctrl+[/]移动到前/后代码块,这些类Vim风格的光标移动也是一大亮点。以上Ctrl+Left/Right/[]加上Shift的话就能选中跳跃范围内的代码。Alt+Forward/Backward移动到前/后方法。还有些非常普通的像Ctrl+Y删除行、Ctrl+D复制行、Ctrl+折叠代码就不多说了。
关于光标移动再多扩展一点,除了Intellij本身已提供的功能外,我们还可以安装ideaVim或者emacsIDEAs享受到Vim的快速移动和Emacs的AceJump功能(超爽!)。
另外,Intellij的书签功能也是不错的,用Ctrl+Shift+Num定义1-10书签(再次按这组快捷键则是删除书签),然后通过Ctrl+Num跳转。这避免了多次使用前/下一编辑位置Ctrl+Left/Right来回跳转的麻烦,而且此快捷键默认与Windows热键冲突(默认多了Alt,与Windows改变显示器显示方向冲突,一不小心显示器就变成倒着显式的了,冏啊)。
5 查找打开
类似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打开类或资源,但Intellij更加智能一些,我们输入的任何字符都将看作模糊匹配,省却了Eclipse中还有输入*的麻烦。最新版本的IDEA还加入了Search Everywhere功能,只需按Shift+Shift即可在一个弹出框中搜索任何东西,包括类、资源、配置项、方法等等。
类的继承关系则可用Ctrl+H打开类层次窗口,在继承层次上跳转则用Ctrl+B/Ctrl+Alt+B分别对应父类或父方法定义和子类或子方法实现,查看当前类的所有方法用Ctrl+F12。
要找类或方法的使用也很简单,Alt+F7。要查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处。
Intellij更加智能的又一佐证是在任意菜单或显示窗口,都可以直接输入你要找的单词,Intellij就会自动为你过滤。关注Java技术栈微信公众号,在后台回复关键字:IDEA,可以获取一份栈长整理的 IDEA 最新技术干货。
6 其他辅助
以上这些神键配上一些辅助快捷键,即可让你的双手90%以上的时间摆脱鼠标,专注于键盘仿佛在进行钢琴表演。这些不起眼却是至关重要的最后一块拼图有:
Ø 命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每个命令后面还有其快捷键。所以它不仅是一大神键,也是查找学习快捷键的工具。
Ø 新建:Alt+Insert可以新建类、方法等任何东西。
Ø 格式化代码:格式化import列表Ctrl+Alt+O,格式化代码Ctrl+Alt+L。
Ø 切换窗口:Alt+Num,常用的有1-项目结构,3-搜索结果,4/5-运行调试。Ctrl+Tab切换标签页,Ctrl+E/Ctrl+Shift+E打开最近打开过的或编辑过的文件。
Ø 单元测试:Ctrl+Alt+T创建单元测试用例。
Ø 运行:Alt+Shift+F10运行程序,Shift+F9启动调试,Ctrl+F2停止。
Ø 调试:F7/F8/F9分别对应Step into,Step over,Continue。
此外还有些我自定义的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘贴很早以前拷贝过的,Alt+Shift+Insert进入到列模式进行按列选中。
Ø Top #10切来切去:Ctrl+Tab
Ø Top #9选你所想:Ctrl+W
Ø Top #8代码生成:Template/Postfix +Tab
Ø Top #7发号施令:Ctrl+Shift+A
Ø Top #6无处藏身:Shift+Shift
Ø Top #5自动完成:Ctrl+Shift+Enter
Ø Top #4创造万物:Alt+Insert
太难割舍,前三名并列吧!
Ø Top #1智能补全:Ctrl+Shift+Space
Ø Top #1自我修复:Alt+Enter
Ø Top #1重构一切:Ctrl+Shift+Alt+T
CTRL+ALT+ left/right 前后导航编辑过的地方 Ctrl+Shift+Backspace可以跳转到上次编辑的地方
Mac中Intellij IDEA快捷键
Mac键盘符号和修饰键说明
⌘
Command⇧
Shift⌥
Option⌃
Control↩︎
Return/Enter⌫
Delete⌦
向前删除键(Fn+Delete)↑
上箭头↓
下箭头←
左箭头→
右箭头⇞
Page Up(Fn+↑)⇟
Page Down(Fn+↓)Home
Fn + ←End
Fn + →⇥
右制表符(Tab键)⇤
左制表符(Shift+Tab)⎋
Escape (Esc)
一、Editing(编辑)
⌃Space
基本的代码补全(补全任何类、方法、变量)⌃⇧Space
智能代码补全(过滤器方法列表和变量的预期类型)⌘⇧↩
自动结束代码,行末自动添加分号⌘P
显示方法的参数信息⌃J, Mid. button click
快速查看文档⇧F1
查看外部文档(在某些代码上会触发打开浏览器显示相关文档)⌘+鼠标放在代码上
显示代码简要信息⌘F1
在错误或警告处显示具体描述信息⌘N, ⌃↩, ⌃N
生成代码(getter、setter、构造函数、hashCode/equals,toString)⌃O
覆盖方法(重写父类方法)⌃I
实现方法(实现接口中的方法)⌘⌥T
包围代码(使用if..else, try..catch, for, synchronized等包围选中的代码)⌘/
注释/取消注释与行注释⌘⌥/
注释/取消注释与块注释⌥↑
连续选中代码块⌥↓
减少当前选中的代码块⌃⇧Q
显示上下文信息⌥↩
显示意向动作和快速修复代码⌘⌥L
格式化代码⌃⌥O
优化import⌃⌥I
自动缩进线⇥ / ⇧⇥
缩进代码 / 反缩进代码⌘X
剪切当前行或选定的块到剪贴板⌘C
复制当前行或选定的块到剪贴板⌘V
从剪贴板粘贴⌘⇧V
从最近的缓冲区粘贴⌘D
复制当前行或选定的块⌘⌫
删除当前行或选定的块的行⌃⇧J
智能的将代码拼接成一行⌘↩
智能的拆分拼接的行⇧↩
开始新的一行⌘⇧U
大小写切换⌘⇧] / ⌘⇧[
选择直到代码块结束/开始⌥⌦
删除到单词的末尾(⌦键为Fn+Delete)⌥⌫
删除到单词的开头⌘+ / ⌘-
展开 / 折叠代码块⌘⇧+
展开所以代码块⌘⇧-
折叠所有代码块⌘W
关闭活动的编辑器选项卡
二、Search/Replace(查询/替换)
Double ⇧
查询任何东西⌘F
文件内查找⌘G
查找模式下,向下查找⌘⇧G
查找模式下,向上查找⌘R
文件内替换⌘⇧F
全局查找(根据路径)⌘⇧R
全局替换(根据路径)⌘⇧S
查询结构(Ultimate Edition 版专用,需要在Keymap中设置)⌘⇧M
替换结构(Ultimate Edition 版专用,需要在Keymap中设置)
三、Usage Search(使用查询)
⌥F7 / ⌘F7
在文件中查找用法 / 在类中查找用法⌘⇧F7
在文件中突出显示的用法⌘⌥F7
显示用法
四、Compile and Run(编译和运行)
⌘F9
编译Project⌘⇧F9
编译选择的文件、包或模块⌃⌥R
弹出 Run 的可选择菜单⌃⌥D
弹出 Debug 的可选择菜单⌃R
运行⌃D
调试⌃⇧R, ⌃⇧D
从编辑器运行上下文环境配置
五、Debugging(调试)
F8
进入下一步,如果当前行断点是一个方法,则不进入当前方法体内F7
进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中⇧F7
智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法⇧F8
跳出⌥F9
运行到光标处,如果光标前有其他断点会进入到该断点⌥F8
计算表达式(可以更改变量值使其生效)⌘⌥R
恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上⌘F8
切换断点(若光标当前行有断点则取消断点,没有则加上断点)⌘⇧F8
查看断点信息
六、Navigation(导航)
⌘O
查找类文件⌘⇧O
查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
⌘⌥O
前往指定的变量 / 方法⌃← / ⌃→
左右切换打开的编辑tab页F12
返回到前一个工具窗口⎋
从工具窗口进入代码文件窗口⇧⎋
隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口⌘⇧F4
关闭活动run/messages/find/… tab⌘L
在当前文件跳转到某一行的指定处⌘E
显示最近打开的文件记录列表⌘⌥← / ⌘⌥→
退回 / 前进到上一个操作的地方⌘⇧⌫
跳转到最后一个编辑的地方⌥F1
显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)⌘B / ⌘ 鼠标点击
进入光标所在的方法/变量的接口或是定义处⌘⌥B
跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口⌥ Space, ⌘Y
快速打开光标所在方法、类的定义⌃⇧B
跳转到类型声明处⌘U
前往当前光标所在方法的父类的方法 / 接口定义⌃↓ / ⌃↑
当前光标跳转到当前文件的前一个/后一个方法名位置⌘\] / ⌘[
移动光标到当前所在代码的花括号开始/结束位置⌘F12
弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)- ⌃H` 显示当前类的层次结构
⌘⇧H
显示方法层次结构⌃⌥H
显示调用层次结构F2 / ⇧F2
跳转到下一个/上一个突出错误或警告的位置F4 / ⌘↓
编辑/查看代码源⌥ Home
显示到当前文件的导航条F3
选中文件/文件夹/代码行,添加/取消书签⌥F3
选中文件/文件夹/代码行,使用助记符添加/取消书签⌃0...⌃9
定位到对应数值的书签位置⌘F3
显示所有书签
七、Refactoring(重构)
F5
复制文件到指定目录F6
移动文件到指定目录⌘⌫
在文件上为安全删除文件,弹出确认框⇧F6
重命名文件⌘F6
更改签名⌘⌥N
一致性⌘⌥M
将选中的代码提取为方法⌘⌥V
提取变量⌘⌥F
提取字段⌘⌥C
提取常量⌘⌥P
提取参数
八、VCS/Local History(版本控制/本地历史记录)
⌘K
提交代码到版本控制器⌘T
从版本控制器更新代码⌥⇧C
查看最近的变更记录⌃C
快速弹出版本控制器操作面板
九、Live Templates(动态代码模板)
⌘⌥J
弹出模板选择窗口,将选定的代码使用动态模板包住⌘J
插入自定义动态代码模板
十、General(通用)
⌘1...⌘9
打开相应编号的工具窗口⌘S
保存所有⌘⌥Y
同步、刷新⌃⌘F
切换全屏模式⌘⇧F12
切换最大化编辑器⌥⇧F
添加到收藏夹⌥⇧I
检查当前文件与当前的配置文件- `§⌃, ⌃“ 快速切换当前的scheme(切换主题、代码样式等)
⌘,
打开IDEA系统设置⌘;
打开项目结构对话框⇧⌘A
查找动作(可设置相关选项)⌃⇥
编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上delete,则是关闭对应选中的窗口)
十一、Other(一些官方文档上没有体现的快捷键)
⌘⇧8
竖编辑模式
导航
- ⌘O 查找类文件 Ctrl + N
- ⌘⌥O 前往指定的变量 / 方法 Ctrl + Shift + Alt + N
- ⌃← / ⌃→ 左右切换打开的编辑tab页 Alt← / Alt→
- ⎋ 从工具窗口进入代码文件窗口 ESC
- ⌘L 在当前文件跳转到某一行的指定处 Ctrl + G
- ⌘E 显示最近打开的文件记录列表 Ctrl + E
- ⌘⌥← / ⌘⌥→ 退回 / 前进到上一个操作的地方 Ctrl + Alt + ← Ctrl + Alt + →
- ⌘⇧⌫ 跳转到最后一个编辑的地方
- ⌃H 显示当前类的层次结构 Ctrl + H
- ⌘⇧H 显示方法层次结构
- ⌃⌥H 显示调用层次结构
- F4 / ⌘↓ 编辑/查看代码源
- ⌘⌥U 显示类UML图
- ⌃J 查看注释
编辑
- ⌥⌦ 删除到单词的末尾(⌦键为Fn+Delete)
- ⌥⌫ 删除到单词的开头
- ⌘+ / ⌘- 展开 / 折叠代码块
- ⌘F1 在错误或警告处显示具体描述信息
- ⌘⌥L 格式化代码
- ⌃⌥O 优化import
- ⇧↩ 开始新的一行
- ⌘⇧↩ 自动结束代码,行末自动添加分号
- ⌃I 实现方法(实现接口中的方法)
- ⇧F6 重命名文件或者变量
- ⌘N, ⌃↩, ⌃N 生成代码(getter、setter、构造函数、hashCode/equals,toString)
- ⌘P 显示方法的参数信息
查找
- Double⇧ 查找任何东西
- ⌘⇧F 全局查找(根据路径)
- ⌘F 文件内查找
- ⌘G 查找模式下,向下查找
- ⌘⇧G 查找模式下,向上查找
导航
- ⌘⌥B 跳转到接口的实现
- ⌘U 查看接口定义
- ⌘⌥← / ⌘⌥→ 退回 / 前进到上一个操作的地方
- ⌘B / ⌘ 鼠标点击 进入光标所在的方法/变量的接口或是定义处
- ⌃⇧B 跳转到类型声明处
- ⌥ Space, ⌘Y 快速打开光标所在方法、类的定义
- ⌘O 查找类文件
- ⌘⇧O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
- F12 返回到前一个工具窗口
- ⎋ 从工具窗口进入代码文件窗口
- ⇧⎋ 隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口
- F3选中文件/文件夹/代码行,添加/取消书签
- ⌥F3 选中文件/文件夹/代码行,使用助记符添加/取消书签
- ⌃0…⌃9 定位到对应数值的书签位置
- ⌘F3 显示所有书签
- ⌥F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的Finder)
- ⌘F12 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)
通用
- ⌃⌘F 切换全屏模式
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:http://choupangxia.com/2020/03/07/windows-mac-intellij-idea/