
本文主要记录 IDEA 的一些常用设置,IDEA 与 Eclipse 的常用快捷键对比及推荐一些好用的插件。
基本设置
设置界面风格及修改外部 UI 尺寸大小
打开 IDEA 时设置不重新打开最近的项目
IDEA 默认会打开最近的项目,有时候我们需要自己选择要打开的项目,不勾选该选项可以实现。
设置 IDEA 的快捷键
设置代码字体大小
设置项目文件编码格式
设置代码提示的匹配模式
设置新建类文件的类注释模版
IDEA 和 Eclipse 常用快捷键对比
IDEA 可以设置为 Eclipse 风格的快捷键,在 File > Settings > Keymap 处,如需更改部分快捷键可按如下表格中的英文描述进行搜索,并改为相应快捷键。
Eclipse | IDEA | 英文描述 | 中文描述 |
---|---|---|---|
ctrl+shift+r | ctrl+shift+n | Navigate->File | 找工作空间的文件 |
ctrl+shift+t | ctrl+n | Navigate->Class | 找类定义 |
ctrl+shift+g | alt+f7 | Edit->Find->Find Usages | 查找方法在哪里调用.变量在哪里被使用 |
ctrl+t | ctrl+t | Other->Hierarchy Class | 看类继承结构 |
ctrl+o | ctrl+f12 | Navigate->File Structure | 搜索一个类里面的方法 |
shift+alt+z | ctrl+alt+t | Code->Surround With | 生成常见的代码块 |
shift+alt+l | ctrl+alt+v | Refactor->Extract->Variable | 抽取变量 |
shift+alt+m | ctrl+alt+m | Refactor->Extract->Method | 抽取方法 |
alt+左箭头 | ctrl+alt+左箭头 | Navigate->Back | 回退上一个操作位置 |
alt+右箭头 | ctrl+alt+右键头 | Navigate->Forward | 前进上一个操作位置 |
ctrl+home | ctrl+home | Move Caret to Text Start | 回到类最前面 |
ctrl+end | ctrl+end | Move Caret to Text End | 回到类最后面 |
ctrl+e | ctrl+e | View->Recent Files | 最近打开的文件 |
alt+/ | ctrl+space | Code->Completion->Basic | 提示变量生成 |
ctrl+1 | alt+enter | Other->Show Intention Actions | 提示可能的操作 |
ctrl+h | ctrl+shift+f | Find in Path | 全局搜索 |
alt+上/下箭头 | alt+shift+上/下箭头 | Code->Move Line Up/Down | 移动一行代码 |
ctrl+/ | ctrl+/ | Other->Fix doc comment | 方法注释 |
ctrl+alt+s | alt+insert | Generate | 生成getter,setter,tostring等 |
推荐插件
Lombok
Lombok 为 Java 项目提供了非常有趣的附加功能,使用它的注解可以有效的地解决那些繁琐又重复的代码,例如 Setter、Getter、toString、equals、hashCode 以及非空判断等。
举个例子,我们给一个类添加 @Getter 和 @Setter 注解:
1 |
|
Lombok 就会为我们自动生成所有属性的 Getter 和 Setter 方法。
Free MyBatis Plugin
MyBatis 扩展插件,可以在 Mapper 接口的方法和对应的 xml 文件实现之间自由跳转,也可以用来一键生成某些 xml 实现。
我们可以通过 Mapper 接口中方法左侧的箭头直接跳转到对应的 xml 实现中去:
也可以从 xml 中 Statement 左侧的箭头直接跳转到对应的 Mapper 接口方法中去:
还可以通过 Alt+Enter
键组合直接生成新方法的 xml 实现,使用起来是不是很方便!
MyBatis Log Plugin
有时候我们需要运行过程中产生的 SQL 语句来帮助我们排查某些问题,这款插件可以把 Mybatis 输出的 SQL 日志还原成完整的 SQL 语句,就不需要我们去手动转换了。
首先我们需要打开这款插件的窗口:
当我们调用方法,控制台输出 Mybatis 的 SQL 日志时:
1 | 2020-04-28 15:52:20.455 DEBUG 13960 --- [nio-8081-exec-1] c.m.m.m.UmsAdminMapper.selectByExample : ==> Preparing: select id, username, password, icon, email, nick_name, note, create_time, login_time, status from ums_admin WHERE ( username = ? ) |
该插件会自动帮我们转换成对应的SQL语句:
1 | 2020-04-28 15:50:40.487 DEBUG 9512 --- [nio-8081-exec-9] c.m.m.m.UmsAdminMapper.selectByExample : ==> |
有的时候我们需要转换的日志并不在自己的控制台上,这时可以使用插件的 SQL Text
功能:
直接复制我们需要转换的日志,然后点击 Restore Sql
按钮即可。
RestfulToolkit
一套 Restful 服务开发辅助工具集,提供了项目中的接口概览信息,可以根据URL跳转到对应的接口方法中去,内置了 HTTP 请求工具,对请求方法做了一些增强功能,总之功能很强大!
可以通过右上角的 RestServices
按钮显示项目中接口的概览信息:
可以通过搜索按钮,根据URL搜索对应接口:
可以通过底部的 HTTP 请求工具来发起接口测试请求:
通过在接口方法上右键可以生成查询参数、请求参数、请求 URL:
通过在实体类上右键可以直接生成实体类对应的 JSON:
Translation
一款翻译插件,支持 Google、有道、百度翻译,对我们看源码时看注释很有帮助!
直接选中需要翻译的内容,点击右键即可找到翻译按钮:
直接使用 翻译文档 可以将整个文档都进行翻译:
还可以通过右上角的翻译按钮直接翻译指定内容:
GsonFormat
这款插件可以把 JSON 格式的字符串转化为实体类,当我们要根据 JSON 字符串来创建实体类的时候用起来很方便。
首先我们需要先创建一个实体类,然后在类名上右键 Generate
,之后选择 GsonFormat
:
输入我们需要转换的 JSON 字符串:
选择性更改属性名称和类型:
点击确定后直接生成实体类:
Grep Console
一款帮你分析控制台日志的插件,可以对不同级别的日志进行不同颜色的高亮显示,还可以用来按关键字搜索日志内容。
当项目打印日志的时候,可以发现不同日志级别的日志会以不同颜色来显示:
如果你需要修改配色方案的话,可以通过Tools
打开该插件的配置菜单:
然后通过配置菜单修改配色方案:
可以通过在控制台右键并使用Grep
按钮来调出日志分析的窗口:
然后直接通过关键字来搜索即可:
Alibaba Java Coding Guidelines
阿里巴巴《Java 开发手册》配套插件,可以实时检测代码中不符合手册规约的地方,助你码出高效,码出质量。
比如说手册里有这么一条:
当我们违反手册规约时,该插件会自动检测并进行提示:
同时提供了一键检测所有代码规约情况和切换语言的功能:
如果你想修改某条规约的检测规则的话,可以通过设置的 Editor->Inspections
进行修改:
Maven Helper
解决 Maven 依赖冲突的好帮手,可以快速查找项目中的依赖冲突,并予以解决!
我们可以通过 pom.xml
文件底部的 依赖分析 标签页查看当前项目中的所有依赖:
通过 冲突 按钮我们可以筛选出所有冲突的依赖,当前项目 guava
依赖有冲突,目前使用的是 18.0
版本:
选中有冲突的依赖,点击 Exclude
按钮可以直接排除该依赖:
同时 pom.xml
中也会对该依赖添加 <exclusion>
标签,是不是很方便啊!
Statistic
一款代码统计工具,可以用来统计当前项目中代码的行数和大小。
我们可以通过顶部菜单中的 View->Tool Windows->Statistic
按钮开启该功能:
此时就可以看到我们项目代码的统计情况了:
Vue.js
Vue.js 支持插件,写过前端的朋友肯定用过,可以根据模板创建 .vue
文件,也可以对 Vue 相关代码进行智能提示。
启用该插件后,可以根据模板新建 .vue
文件:
当我们在标签中写入以 v-
开头的代码时,会提示 Vue 中的相关指令:
element
Element UI 支持插件,可以对 Element UI 中的标签进行智能提示,有了它就不用盲写相关代码了!
当我们写入以 el-
开头的标签时,会提示 Element UI 相关组件:
If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !