来源:juejin.im/post/5d47f4e851882534d152a206
前言
高效率配置
日常使用 必备快捷键(★★)
编码效率相关(★★)
代码调试 源码阅读相关(★★★)
插件方面
前言
工欲善其事
必先利其器
最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE。同时,在这次分享之后,本人自己也学习到了一些新的使用技巧,所以借着这次机会,一起分享出来。希望可以帮到一些人。
高效率配置
1. 代码提示不区分大小写
Settings -> Editor -> General -> Code Completion
![](https://i-blog.csdnimg.cn/blog_migrate/70b74033e53065c5ebe03de5d7d5bdf2.png)
(低版本 将 Case sensitive completion 设置为 None 就可以了)
2. 自动导包功能及相关优化功能
Settings -> Editor -> General -> Auto Import
![](https://i-blog.csdnimg.cn/blog_migrate/56111cebb2acc2397af664a55c14d031.png)
3. CTRL + 滑动滚轮 调整窗口显示大小
Settings -> Editor -> General -> Change font size (Zoom) with Ctrl+Mouse wheel
![](https://i-blog.csdnimg.cn/blog_migrate/d13f9d8ab2ac206d9b19a65e611e185e.png)
选择之后,就可以通过CTRL+滑动滚轮的方式,调整编辑器窗口的字体大小
4. tab 多行显示
这点因人而异,有些人喜欢直接取消所有tab,改用快捷键的方式,我屏幕比较大,所以喜欢把tab全部显示出来。
Window -> Editor Tabs -> Tabs Placement
,取消勾选 Show Tabs In Single Row
选项。
![](https://i-blog.csdnimg.cn/blog_migrate/febf2594eacf32efd9159e461582caf0.png)
效果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/124493affa4c188f37ae39e1d0c845c7.png)
5. 代码编辑区显示行号
Settings -> Editor -> General -> Appearance`勾选 `Show Line Numbers
6....
日常使用 必备快捷键(★★)
查找
快捷键 | 介绍 |
---|---|
Ctrl + F | 在当前文件进行文本查找 |
Ctrl + R | 在当前文件进行文本替换 |
Shift + Ctrl + F | 在项目进行文本查找 |
Shift + Ctrl + R | 在项目进行文本替换 |
Shift + Shift | 快速搜索 |
Ctrl + N | 查找class |
Ctrl + Shift + N | 查找文件 |
Ctrl + Shift + Alt + N | 查找symbol(查找某个方法名) |
跳转切换
快捷键 | 介绍 |
---|---|
Ctrl + E | 最近文件 |
Ctrl + Tab | 切换文件 |
Ctrl + Alt + ←/→ | 跳转历史光标所在处 |
Alt + ←/→ 方向键 | 切换子tab |
Ctrl + G | go to(跳转指定行号) |
编码相关
快捷键 | 介绍 |
---|---|
Ctrl + W | 快速选中 |
(Shift + Ctrl) + Alt + J | 快速选中同文本 |
Ctrl + C/Ctrl + X/Ctrl + D | 快速复制或剪切 |
多行选中 Tab / Shift + Tab | tab |
Ctrl + Y | 删除整行 |
滚轮点击变量/方法/类 | 快速进入变量/方法/类的定义处 |
Shift + 点击Tab | 快速关闭tab |
Ctrl + Z 、Ctrl + Shift + Z | 后悔药,撤销/取消撤销 |
Ctrl + Shift + enter | 自动收尾,代码自动补全 |
Alt + enter | IntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 |
Alt + ↑/↓ | 方法快速跳转 |
F2 | 跳转到下一个高亮错误 或 警告位置 |
Alt + Insert | 代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等 |
Ctrl + Shift + L | 格式化代码 |
Shift + F6 | 快速修改方法名、变量名、文件名、类名等 |
Ctrl + F6 | 快速修改方法签名 |
代码阅读相关
快捷键 | 介绍 |
---|---|
Ctrl + P | 方法参数提示显示 |
Ctrl + Shift + i | 就可以在当前类里再弹出一个窗口出来 |
Alt + F7 | 可以列出变量在哪些地方被使用了 |
光标在子类接口名,Ctrl + u | 跳到父类接口 |
Alt + F1 + 1, esc | |
(Shift) + Ctrl + +/- | 代码块折叠 |
Ctrl + Shift + ←/→ | 移动窗口分割线 |
Ctrl + (Alt) + B | 跳转方法定义/实现 |
Ctrl + H | 类的层级关系 |
Ctrl + F12 | Show Members 类成员快速显示 |
版本管理相关
快捷键 | 介绍 |
---|---|
Ctrl + D | Show Diff |
(Shift) + F7 | (上)下一处修改 |
更多快捷键请参考此文章 github.com/judasn/Inte…
mac os快捷键请参考本文章 github.com/judasn/Inte…
编码效率相关(★★)
文件代码模板
Settings -> Editor -> File and Code Template
![](https://i-blog.csdnimg.cn/blog_migrate/6d974d7b9396c1dfa583e832bc72fb18.png)
在这里可以看到IDEA所有内置的文件代码模板,当你选择某个文件生成时,就会按照这里面的模板生成指定的代码文件。
另外,你可以在这里设置文件头。
![](https://i-blog.csdnimg.cn/blog_migrate/88ce46f2379b36317944baa99245aa6a.png)
设置之后,效果如下
![](https://i-blog.csdnimg.cn/blog_migrate/aa6c742b7afcc732ec9c595f18b85217.png)
实时代码模板
IDEA提供了强大的实时代码模板功能,并且原生内置了很多的模板,比如,当你输入sout
或者psvm
,就会快速自动生成System.out.println();
和public static void main(String[] args) {}
的代码块。
这些的模板可以在Settings -> Editor -> Live Templates
看到。使用者可以按照自己的使用习惯来熟悉相关的代码模板。
定制代码模板
IDEA也提供自己定制实时代码模板的功能。
创建自己的模板库
创建定制的代码模板
![](https://i-blog.csdnimg.cn/blog_migrate/c16e907f0bafbc21150a78e2296d5cdb.png)
图中的MyGroup
就存放着我自己定义的代码模板。
其他
CRTL+ALT+T
![](https://i-blog.csdnimg.cn/blog_migrate/ee010c90d6ee1ae2fa0f462b7a8e33d4.png)
Ctrl + Alt + T
提供的是代码块包裹功能 - Surround With。可以快速将选中的代码块,包裹到选择的语句块中。
本地历史版本
IDEA 自带本地版本管理的功能,能够让你本地编写代码变得更加的安心和方便。
![](https://i-blog.csdnimg.cn/blog_migrate/bdd7c29a9596909a3b9307c44670cfcb.png)
代码调试 源码阅读相关(★★★)
视图模式
![](https://i-blog.csdnimg.cn/blog_migrate/3b01de0e8d3b1877368812915aed030f.png)
IDEA提供两种特殊的视图模式,
Presentation Mode - 演示模式,专门用于Code Review这种需要展示代码的场景
Distraction Free Mode - 禅模式,专注于代码开发
代码调试
1. 条件断点
IDEA 可以设置指定条件的断点,增加我们调试的效率。
![](https://i-blog.csdnimg.cn/blog_migrate/07c7d86e42c745611ebf75d817e75b51.png)
2. 强制返回
IDEA 可以在打断点的方法栈处,强制返回你想要的方法返回值给调用方。非常灵活!
![](https://i-blog.csdnimg.cn/blog_migrate/104e02068c7e3aa8b8069fcf6d75e407.png)
![](https://i-blog.csdnimg.cn/blog_migrate/302c89b68c1d53799769d5ac131bd50b.png)
3. 模拟异常
IDEA 可以在打断点的方法栈处,强制抛出异常给调用方。这个在调试源码的时候非常有用。
![](https://i-blog.csdnimg.cn/blog_migrate/97db87d46d6754bce0db4f9ba468e8cc.png)
4. Evaluate Expression
IDEA 还可以在调试代码的时候,动态修改当前方法栈中变量的值,方便我们的调试。
![](https://i-blog.csdnimg.cn/blog_migrate/fcfa02f4d1ee6fd19b5c55c60890cea2.png)
插件方面
插件安装
File -> Setting -> Plugin
插件安装,可以直接在IDEA的插件库中实时搜索安装。browse plugin repository
对于网络不好的用户,可以登录官方插件仓库地址:plugins.jetbrains.com/idea,下载压缩包之…install from disk
插件推荐
本人日常开发中使用的插件
Alibaba Java Coding Guidelines
阿里Java编程规约插件
FindBugs
代码缺陷扫描
PMD
代码缺陷扫描
InnerBuilder
builder模式快速生成
![](https://i-blog.csdnimg.cn/blog_migrate/67954977f696ce7dd9cf084c534a6f63.png)
lombok plugin
lombok 插件
maven helper
maven 依赖管理助手 ,解析maven pom结构,分析冲突;
![](https://i-blog.csdnimg.cn/blog_migrate/5ee7175fd3806ee968429e2b5ef66799.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f78f683a72433cdac45e22243cb9aecd.png)
Rainbow brackets
让代码中的括号更具标识性
![](https://i-blog.csdnimg.cn/blog_migrate/b043ed716942ddb6ba8091fc1809360b.png)
String Manipulation
String相关辅助简化,搭配 CTRL+W 、ALT+J等文本选择快捷键使用
![](https://i-blog.csdnimg.cn/blog_migrate/e7946d60a161b44ad01a5ac09b693369.png)
Translation
翻译插件,阅读源码必备
![](https://i-blog.csdnimg.cn/blog_migrate/74fc6560b0070921e20cad2a33a13034.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8bb99389cce694812bceab7733c1964b.png)
GenerateAllSetter
![](https://i-blog.csdnimg.cn/blog_migrate/156d37daedec2a14a3f781eb4ed59ec2.png)
Key Promoter X
对你的鼠标操作进行 快捷键提示
GenerateSerialVersionUID
Alt
+ Insert
快速生成SerialVersionUID
![](https://i-blog.csdnimg.cn/blog_migrate/a89104e9ec832487052e2638617c0e87.png)
GsonFormat
![](https://i-blog.csdnimg.cn/blog_migrate/faee0801793e605a67141d4838cf4bfa.png)
RestfulToolkit
快速跳转到Restful Api处( use: Ctrl(Command) + \ or Ctrl + Alt + N )
展示Resultful 接口结构
http 简单请求工具
![](https://i-blog.csdnimg.cn/blog_migrate/cbb01fe5669b79602890bdd478252a65.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3c2f87a2f28c3756bde15d8cb2f21541.png)
Material Theme UI
本人自用的主题就是这个。
![](https://i-blog.csdnimg.cn/blog_migrate/eb95f1ddb4f5522f10085c8743e5e029.png)
MyBatis Log Plugin
把 Mybatis 输出的sql日志还原成完整的sql语句,看起来更直观。
![](https://i-blog.csdnimg.cn/blog_migrate/557285016ebe709db19639080d08085b.png)
Free Mybatis
MyBatis 免费的插件
最近热文• 3个开源的快速开发平台,前后端都有!• Java 如何精确统计页面停留时长?• SpringBoot 如何上传大文件?• 微信支付的软件架构到底有多牛?
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 Java 领取,更多内容陆续奉上。文章有帮助的话,在看,转发吧。谢谢支持哟 (*^__^*)