IDEA 超实用使用技巧分享
前言
工欲善其事
必先利其器
最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀的IDE。 同时,在这次分享之后,本人自己也学习到了一些新的使用技巧,所以借着这次机会,一起分享出来。希望可以帮到一些人。
基于的 IDEA 版本信息:IntelliJ IDEA 2018.2.2 (Ultimate Edition)
知识点概览:
- 高效率配置
- 日常使用 必备快捷键(★★)
- 查找
- 跳转切换
- 编码相关
- 代码阅读相关
- 版本管理相关
- 编码效率相关(★★)
- 文件代码模板
- 实时代码模板
- 其他
- 代码调试 源码阅读相关(★★★)
- 视图模式
- 代码调试
- ...
- 插件方面
- 插件的安装与使用
- 插件推荐
- 参考
2019-08-09 UPDATE
[插件推荐]增加图片描述,增加插件内容。阅读更友好。
高效率配置
1. 代码提示不区分大小写
Settings -> Editor -> General -> Code Completion
(低版本 将 Case sensitive completion 设置为 None 就可以了)
2. 自动导包功能及相关优化功能
Settings -> Editor -> General -> Auto Import
3. CTRL + 滑动滚轮 调整窗口显示大小
Settings -> Editor -> General -> Change font size (Zoom) with Ctrl+Mouse wheel
选择之后,就可以通过CTRL+滑动滚轮的方式,调整编辑器窗口的字体大小
4. tab 多行显示
这点因人而异,有些人喜欢直接取消所有tab,改用快捷键的方式,我屏幕比较大,所以喜欢把tab全部显示出来。
Window -> Editor Tabs -> Tabs Placement,取消勾选 Show Tabs In Single Row选项。
效果如下:
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
在这里可以看到IDEA所有内置的文件代码模板,当你选择某个文件生成时,就会按照这里面的模板生成指定的代码文件。
另外,你可以在这里设置文件头。
设置之后,效果如下
实时代码模板
IDEA提供了强大的实时代码模板功能,并且原生内置了很多的模板,比如,当你输入sout或者psvm,就会快速自动生成System.out.println();和public static void main(String[] args) {}的代码块。
这些的模板可以在Settings -> Editor -> Live Templates 看到。使用者可以按照自己的使用习惯来熟悉相关的代码模板。
定制代码模板
IDEA也提供自己定制实时代码模板的功能。
- 创建自己的模板库
- 创建定制的代码模板
图中的MyGroup就存放着我自己定义的代码模板。
其他
CRTL+ALT+T
Ctrl + Alt + T 提供的是代码块包裹功能 - Surround With。可以快速将选中的代码块,包裹到选择的语句块中。
本地历史版本
IDEA 自带本地版本管理的功能,能够让你本地编写代码变得更加的安心和方便。
代码调试 源码阅读相关(★★★)
视图模式
IDEA提供两种特殊的视图模式,
- Presentation Mode - 演示模式,专门用于Code Review这种需要展示代码的场景
- Distraction Free Mode - 禅模式,专注于代码开发
代码调试
1. 条件断点
IDEA 可以设置指定条件的断点,增加我们调试的效率。
2. 强制返回
IDEA 可以在打断点的方法栈处,强制返回你想要的方法返回值给调用方。非常灵活!
3. 模拟异常
IDEA 可以在打断点的方法栈处,强制抛出异常给调用方。这个在调试源码的时候非常有用。
4. Evaluate Expression
IDEA 还可以在调试代码的时候,动态修改当前方法栈中变量的值,方便我们的调试。
插件方面
插件安装
File -> Setting -> Plugin
插件安装,可以直接在IDEA的插件库中实时搜索安装。browse plugin repository
对于网络不好的用户,可以登录官方插件仓库地址:https://plugins.jetbrains.com/idea,下载压缩包之后,选择install from disk
插件推荐
本人日常开发中使用的插件
Alibaba Java Coding Guidelines
阿里Java编程规约插件
FindBugs
代码缺陷扫描
PMD
代码缺陷扫描
InnerBuilder
builder模式快速生成
lombok plugin
lombok 插件
maven helper
maven 依赖管理助手 ,解析maven pom结构,分析冲突;
Rainbow brackets
让代码中的括号更具标识性
String Manipulation
String相关辅助简化,搭配 CTRL+W 、ALT+J等文本选择快捷键使用
Translation
翻译插件,阅读源码必备
GenerateAllSetter
Key Promoter X
对你的鼠标操作进行 快捷键提示
GenerateSerialVersionUID
Alt + Insert 快速生成SerialVersionUID
GsonFormat
RestfulToolkit
- 快速跳转到Restful Api处( use: Ctrl(Command) + \ or Ctrl + Alt + N )
- 展示Resultful 接口结构
- http 简单请求工具
Material Theme UI
本人自用的主题就是这个。
MyBatis Log Plugin
把 Mybatis 输出的sql日志还原成完整的sql语句,看起来更直观。
Free Mybatis
MyBatis 免费的插件
参考
(By the way, 更多IDEA使用请参考此延伸文档以及官方文档)
作者:Richard_Yi
链接:https://juejin.cn/post/6844903906665824270
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
IDEA 超实用使用技巧分享的更多相关文章
- 软件——IDEA 超实用使用技巧分享
前言 工欲善其事 必先利其器 最近受部门的邀请,给入职新人统一培训IDEA,发现有很多新人虽然日常开发使用的是IDEA,但是还是很多好用的技巧没有用到,只是用到一些基本的功能,蛮浪费IDEA这个优秀 ...
- IntelliJ IDEA 超实用使用技巧分享
https://blog.csdn.net/weixin_38405253/article/details/102583954 知识点概览: 高效率配置 日常使用 必备快捷键(★★) 查找 跳转切换 ...
- SharePoint 2013技巧分享系列 - 同步Exchange显示高清用户照片
在“SharePoint 2013技巧分享系列 - Active Directory同步显示用户照片”文中介绍了如何同步Active Directory显示用户照片,但是同步完成后,用户照片尺寸和清晰 ...
- 技巧分享:解决Word 2010当中“分页符”造成的空白行
技巧分享:解决Word 2010当中“分页符”造成的空白行 P1:关于“分页符” 在Word当中插入“分页符”之后,后面的内容就会“更起一段”.就好像“换行符”(回车)会让后面的内容“另起一行”一样. ...
- 批量删除wps文档里的回车符的方法!WPS使用技巧分享!
有时候整理文档的时候,如果是从网上复制的文字,可能会因为复制而产生很多的回车符.怎样能批量去掉这些个回车符呢,下面马上告诉你批量删除wps文档里的回车符的方法!WPS使用技巧分享! 想要批量删除批量删 ...
- webstorm的中文教程和技巧分享
webstorm是一款前端javascript开发编辑的神器,此文介绍webstorm的中文教程和技巧分享.webstorm8.0.3中文汉化版下载:百度网盘下载:http://pan.baidu.c ...
- WebBrowser控件使用技巧分享
原文:WebBrowser控件使用技巧分享 在发布“淘宝登货员”时发现不少朋友对WebBrowser控件比较感兴趣,故在此分享一下使用心得. 首先分享一个WebBrowser的扩展类(此类所需的dll ...
- Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南)
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9941208.html 主讲人:大石头 时间:2018-11-10 晚上20:00 地点:钉钉群(组织代码 ...
- 编辑技巧分享如何给PDF添加注释
纸质的文件想要添加注释就直接拿笔在上面添加就好了,那么电子文件要怎么添加注释呢,今天小编就以我们现在经常使用到的PDF文档来为大家分享怎么添加注释. 1. 我们需要在百度中搜索并下载并安装一款PD ...
随机推荐
- python生成有声小说模拟真人发音
生成有声小说原理 文字是1500字内的生成微软文档说说 用代码实现小说爬取正本 实现每章小说1450字 实现自动剪切后添加封面 实现自动上传 用python代码实现爬取小说,本案列以一本小说为实列代码 ...
- LeetCode Weekly Contest 266
第一题 题解:模拟题 class Solution { public: int countVowelSubstrings(string w) { int n = w.length(); int i = ...
- 寒武纪加速平台(MLU200系列) 摸鱼指南(二)--- 模型移植-环境搭建
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 第六周PTA笔记 括号匹配调整+堆放石子+最大积分+168
括号匹配调整 如果通过插入" +"和" 1"可以从中得到格式正确的数学表达式,则将带括号的序列称为正确的. 例如,序列 "(())()",& ...
- tomcat隐藏版本号
默认报错页面信息会暴露出版本号 进入tomcat的lib目录找到catalina.jar文件 unzip catalina.jar之后会多出两个文件夹 进入org/apache/catalina/ut ...
- [loj6118]鬼牌
枚举最终所有牌的大小$i$,对于最终所有牌大小都为$i$的情况,令其贡献为步数,否则令其贡献为0,记$F$为期望贡献(即所有情况概率*贡献之和),答案即为$\sum_{i=1}^{m}F$ 显然,$F ...
- [cf461D]Appleman and Complicated Task
假设该矩形是aij,那么有a(i,j)=a(i-1,j-1)^a(i-1,j+1)^a(i-2,j),不断递归下去可以发现a(i,j)=a(1,y-x+1)^a(1,y-x+3)^--^a(1,x+y ...
- [hdu6582]Path
首先,从1和n跑一次dij,判断每一条边能否出现在最短路上,不能出现就删掉,然后将所有边建在图上,流量为边权,跑最小割即可. 1 #include<bits/stdc++.h> 2 usi ...
- [loj6203]可持久化队列
对于每一个节点,我们只需要知道他上len次插入(len是这个队列的元素个数)时所插入的元素就可以了 那么只需要将所有插入建为一棵树,然后找len次祖先就可以了,这个用倍增维护即可 还有一种比较神奇的做 ...
- [bzoj1046]上升序列
以i为开头的最长上升子序列,那么就是反过来以i为结尾的最长下降子序列,预处理出来后,不断向后找到下一个数即可 1 #include<bits/stdc++.h> 2 using names ...