IDEA(IntelliJ IDEA)是业界公认的最好开发工具之一,当然好不好也因人而异,也不要刻意去争谁强谁弱,高手往往不在乎手中的兵器是什么的。个人而言,更高效的工具适合每个开发人员,在编写代码的时候花的时间少,就有更多的时间去设计代码,当然,使用一个陌生的IDE,效率肯定是比不上自己熟练的IDE的,所以为了节省诸君的学习成本,也为了更快地去接纳和熟练IDEA,所以周末之余,故作此文。---- 一品江南
准备
在安装软件(JDK、Maven、Git、IDEA)搭建好环境后,要对IDEA进行一番配置,才能开始开发,每个人都有每个人的配置习惯,可以自己研究自己喜欢的配置,进入IDEA的配置 File | Settings(Ctrl+Alt+S
)开始配置。
选择菜单或设置步骤使用 “|” 分开,后面操作一样
选择自己喜欢的主题:Appearance & Behavior | Appearance | Theme
配置骚气的背景图片:Appearance & Behavior | Appearance | UI Options | Background Image…
在配置中选择合适的窗口选项:Appearance & Behavior | Appearance | Window Options
Alt
键可以显示配置自己想看到的菜单项和工具栏:Appearance & Behavior | Menus and Toolbars
配置启动退出和保存同步:Appearance & Behavior | System Settings
配置快捷键:Keymap
配置Git的Pull操作快捷键:Version Control Systems | Git | Repository | Pull 添加
Alt+P
配置Maven窗口显示快捷键:Tool Windows | Maven 添加Alt+3
优化导包:Editor | General | Auto Import | Java
Insert imports on paste: All:粘贴的时候导入全部包
配置显示行号和方法分隔线:Editor | General | Appearance
配置代码折叠规则:Editor | General | Code Folding
配置编辑器标签页:Editor | General | Editor Tabs
配置高效的智能键:Editor | General | Smart Keys
Ctrl+Righ/Left
可以词内移动配置牛逼的字体:Editor | Font
推荐字段:Fira Code,使用连字符输入
>=,<=,==,!=,=>
等符号有惊喜。
配置文件和代码模板:Editor | File and Code Templates
配置文件编码:Editor | File Encodings
建议全部配置成 UTF-8
配置代码片段:Editor | Live Templates
添加高效的代码片段可以提高效率
配置JDK环境:File | Other Settings | Structure for New Projects… | Project | Project SDK
配置Maven构建:Build, Execution, Deployment | Maven
配置Maven主目录:D:/apache-maven-3.5.4
配置用户Maven设置文件:D:\apache-maven-3.5.4\conf\settings.xml
配置本地仓库:D:\apache-maven-3.5.4\repo
Always update snapshots:构建时总是更新依赖快照版本
配置Git管理:Version Control | Git
D:\Program Files\Git\bin\git.exe
编辑IDEA安装目录下bin目录:D:\IntelliJ IDEA\bin\idea64.exe.vmoptions
文件
-Xms750m
-Xmx750m
运行内存配置可以配置IDEA初时内存大小和最大内存数,根据自己电脑配置优化
好的界面布局和主题,会让开发者更舒适。快速地能看到想要的信息,会让开发者事半功倍。
常用的工具栏默认位于IDEA界面的左、右、下三侧,也可以用鼠标悬停界面左下角图标弹出所有工具栏,你如果在前面主题与行为中配置隐藏工具栏显示,可以按两次 Alt
键显示。按键Esc
可以帮助你从任何激活的工具栏返回到代码编辑。每个工具栏窗口顶部都会有一个Toolbar,可快速实现某些常用功能以及配置。
推荐使用快捷键弹出想要使用的工具栏,不建议修改默认快捷键,但常用的工具栏如果没有快捷键,应当自定义:
Alt+1
:ProjectAlt+2
:FavoritesAlt+3
:Maven(自定义)Alt+4
:RunAlt+5
:DebugAlt+6
:TODOAlt+7
:StructureAlt+9
:Version ControlAlt+F12
:Terminal
Project工具栏主要是管理项目文件和目录,所有的项目资源都能在些找到,而且它可以有多种管理形式,可以更好聚焦于当前工作。
管理形式
Ctrl+-
)Shift+Esc
)由于所有的工具栏都会有Setting和Hide,所以后面不会再说,在Setting里面会挑选几个常用的设置说。在Setting中的View Mode配置工具栏的显示模式:
- Dock Pinned:钉住停靠显示
- Dock Unpinned:不钉信停靠显示,激活其他工具栏隐藏
- Undock:不停靠显示,类似Dock Unpinned
- Float:浮动显示
- Window:窗口模式显示,在全屏查看日志时非常有用
技巧
在很多的窗口都可以这样进行模糊搜索,可以自己大胆尝试,效率大大地提高,不过注意要使用英文输入法。
Left/Right
键可以快速折叠/展开当前目录Alt+Home
可以导航当前项目Favorites可以用来管理开发人员高频使用的目录或文件,可以是包和类,或者是类中的某一行,它分为三类:
项目:在Project工具栏中对包或类右击选择 Add Favorites 添加
书签:在Project工具栏中对包或类或者代码某行,按 F11
添加书签
断点:打断点就会创建
在很多地方使用
F4
快捷键可以快速跳转到源码或目录位置。比如选中 Favorites 中的某个书签或断点,选中 VCS 中的某个记录文件。
Maven是管理Maven项目的工具集合,可以执行Maven的生命周期和插件,可以查看依赖等。
Toolbar:
Setting
Profiles
选择激活Maven配置的Profile
TODO是管理项目代码中所有含有 // TODO
注释以及 // FIXME
注释的代码,这类特殊注释可以帮助开发人员处理事务。
Structure可以管理文件结构,包括类、接口等源文件的属性、方法等。
Toolbar:
Version Control是版本管理工具,这里使用Git为例,它一般会有两个固定标签页 Local Changes 和 Log,用来管理本地修改和提交日志。
Toolbar:
Ctrl+K
)Ctrl+Alt+Z
)Ctrl+D
)Ctrl+Alt+H
)Ctrl++
)Ctrl+-
)技巧
提交方式:
- Amend commit:和上一次提交合并,等于命令
git commit --amend
- Sign-off commit:在提交信息后面追加用户签名
提交前置事件:
- Alibaba Code Guidelines:阿里开发规约检测(插件)
- Reformat code:格式化代码
- Optimize imports:优化包的导入
- Perform code analyses:代码分析
- Check TODO(Show All):检查TODO
前置事件非常有用,在提交代码前会自动优化代码的格式以及检查出不合格的代码。
Event Log 查看IDEA全局操作的所有日志,当某些操作异常了,可以在此找到答案。
Spring可以根据当前的Spring框架管理Bean和MVC,对于使用Spring框架的开发人员来说,非常方便。
技巧
application.properties
文件才会有上下文提示,可以在项目右击菜单中 Open Module Settings (F4
)中将properties文件添加到Spring上下文环境中。Terminal是IDEA的集成终端,方便执行命令行。
技巧
IDEA集成终端配置Bash:File | Settings | Tools | Terminal | Application settings
Shell path:
D:\Program Files\Git\bin\bash.exe
NOTE:如果终端出现乱码问题,可以百度解决,很简单。
Web工具栏和Java Enterprise工具栏有点类似,在Web项目中,会管理Servlet、Filter、Listener,当然,如果我们的项目中只用到SpringMVC,而不是自己编写Servlet的话,这工具似乎没有太多的作用。
在代码视图中,主要是使用快捷键快速浏览一些代码的信息,这些快捷键在开发过程中也是大有用处的。
Ctrl+Shift+I
Ctrl+Q
Ctrl+P
Ctrl+Shift+P
Alt+Q
(可以查看当前类文件类定义信息)技巧
Ctrl+Shift+I
快速查看当前枚举、常量的信息Ctrl+P
查看当前参数输入情况,由其是重载方法的情况Ctrl+Shift+P
快速修改某段代码在文件视图中,可以导航最近修改的文件或位置。
窗口视图可以设置IDEA主界面的显示方式。
想去哪儿就去哪儿,定位问题与查阅代码都很方便。
Ctrl+N
Ctrl+Shift+N
Ctrl+Alt+Shift+N
Ctrl+G
Ctrl+Alt + Left/Right
Ctrl+Alt+Shift + Top/Bottom
Ctrl+Tab
和Ctrl+Shift+Tab
Ctrl+B
Ctrl+Alt+B
Ctrl+Shift+B
Ctrl+U
Ctrl+Shift+T
F2
Shift+F2
Alt + Top/Bottom
Ctrl + [/]
在代码编辑器的左侧会存在Gutter图标,在设置 File | Settings | Editor | General | Gutter Icons 中我们可以看到这些图标的含义,单击图标也可以跳转到对应的位置。
Ctrl+F12
Ctrl+Alt+F12
Ctrl+H
Ctrl+Shift+H
Ctrl+Alt+H
技巧
这个方法在定位问题的时候大有用处,而且只需简单的规则,就可以形成代码的坐标。
- 使用
#
标记类或文件中的某个方法或属性:HttpProxy#get
- 使用
:
标记类或文件中的某行某列:HttpProxy:37:10
在团队之间发送代码位置的时候,使用右击菜单中 Copy Reference(
Ctrl+Alt+Shift+C
)来复制某个类、方法、属性等的唯一坐标,然后开发人员可以使用Ctrl+N
输入坐标来定位代码。
Ctrl+Alt+U
来显示类的UML图。在Project文件树中也可以选择类使用
Ctrl+Alt+U
生成UML图。
高效编辑代码,节省苦力活,缩短开发时间,今天不加班。
Ctrl+O
Ctrl+I
Alt+Insert
Constructor
:构造方法Getter
:Get方法Setter
:Set方法Getter and Setter
:Get方法和Set方法equals() and hashCode()
:equals方法和hashCode方法toString()
:toString方法Test
:测试类或测试方法Copyright
:版权信息@Autowired Dependency
:注入Spring BeanCtrl+Alt+T
if / else / while / for
try / catch / finally
synchronized / Runnable
region...endregion Comments
Ctrl+Shift+Delete
Alt+/
或Alt+Shift+/
Ctrl+Alt+Enter
Shift+Enter
Ctrl+Y
Ctrl+D
在编写代码的时候,经常会要记录一些非代码文件,可以使用
Ctrl+Alt+Shift+Insert
来新建草稿文件,支持多种格式,新建好的草稿文件会保存在 Project 文件树的/Scratches and Consoles/Scratches
目录下。
Ctrl+W
,重复使用扩大选择范围Ctrl+Shift+W
Ctrl+Shift+P
Ctrl+/
Ctrl+Shift+/
Ctrl+Alt+L
Ctrl+Alt+I
Ctrl+Alt+O
Ctrl + -/+
Ctrl+Shift + -/+
Ctrl+Shift + Up/Bottom
,可以简单移动方法的位置Alt+Shift + Up/Bottom
在快捷键与编辑器配置中说到了如何配置代码片段,代码片段可以明显地提高编辑代码的速度,由其插入高频代码。
智能片段:可以直接输入,也可以使用Ctrl+J
来选择
包围片段:可以选中一段代码使用Ctrl+Alt+J
插入,也可以使用Ctrl+Alt+T
F2
和Shift+F2
来快速定位有问题的代码Alt+Enter
和单击电灯泡的功能一样不管代码有什么问题,使用
Alt+Enter
总能找到解决办法。不要轻易关闭代码的错误提示,级别较低的警告可以酌情处理
网上有许多坑人的教程,解决报红的错误的办法就是把错误提示关掉,万不可取。
技巧
AE
选择 Implement interface 快速添加接口的实现类。AE
选择 Implement abstract class 快速添加抽象类的实现类。AE
选择 Create subclass 快速添加该类的子类。AE
选择 Create Test 快速添加类的测试类。AE
选择 Generate missed test methods 创建测试方法。AE
选择 Generate overloaded method with default parameter values 创建当前方法的重载方法。AE
选择 Add Javadoc 快速添加文档注释。AE
选择 Check RegExp 校验正则表达式。
AE
表示使用Alt+Enter
快捷键
Alt
键可以垂直选择进行多行编辑。Alt+Shift
键使用光标单击可以进行多个位置编辑。Ctrl+F
的时候,想要编辑所有的结果可以使用Ctrl+Alt+Shift+J
。分析项目,分析代码,才能分析设计。
技巧
珍惜每一次重构的机会,尽量把项目设计的更好。
Ctrl+Alt+Shift+T
Shift+F6
Ctrl+F6
Ctrl+Shift+F6
F6/F5
(可以移动静态变量或方法)Alt+Delete
Ctrl+Alt+V
Ctrl+Alt+C
Ctrl+Alt+F
Ctrl+Alt+P
Ctrl+Alt+Shift+P
Ctrl+Alt+M
技巧
灵活运用好重构技能,编码速度可以提高几个档。
蛋变成鸡的一步,怎样处理好一个蛋,一窝蛋?
Ctrl+F9
)Ctrl+Shift+F9
)在菜单 Run 下面会有相关运行的操作,可以在 Run | Edit Configurations 中管理配置各种运行方式。
Shift + F10/F9
Alt+Shift + F10/F9
Ctrl + F2/F5
如果代码中存在Main方法,并以Main方法形式启动,打开Main方法所有类,除了使用 Alt+F10
或 Alt+Shift+F10
启动之外,也可以单击类名或方法名所在的运行Gutter图标。
如果想要全屏或者分屏显示运行日志,可以把运行工具窗口的 View Mode 设置成 Window 模式。
如果Web项目要使用Tomcat启动,则先要配置Tomcat Server运行方式,在 Run | Edit Configurations 添加该运行方式,在添加列表中选择 Tomcat Server | Local,配置好后即可运行。
在配置之前需要在本地下载Tomcat,在 Edit Configurations 配置中可以不仅可以添加运行方式,还可以对每个运行方式进行其他配置,比如:VM Options 等。
使用Debug启动可以快速定位问题,打断点步进调试是每个开发人员必备的技能,这里不多说,常用快捷键:
F8
F7
Shift+F8
F9
Alt+F10
Alt+F8
技巧
IDEA不仅仅只是一个写代码的软件,还拥有开发过程中经常使用的工具。
在视图工具栏 View | Tool Windows | Database 中可以找到Database工具,点击Toolbar上的加号可以添加数据源,配置好服务器和驱动后就可以使用了,打开 Console 输入SQL,使用 Ctrl+Enter
执行。
在工具栏 Tools | Deployment | Browse Remote Host 菜单打开Remote Host工具,点击 … 配置服务器,配置好了之后就可以操作 Remote Host 的文件树了。
在任何目录下都可以右击新建文件的时候创建 New HTTP Request
文件来编写HTTP报文来请求和测试HTTP接口,推荐在test
目录下创建。创建测试文件如下:
GET http://localhost:80/api/item?id=99
Accept: application/json
点击每个请求报文左侧的运行Gutter图标就可以发送请求,同样创建POST请求:
POST http://localhost:80/api/item?id=99
Content-Type: application/x-www-form-urlencoded
id=1&name=2&gender=1&mobile=1413131212
可以在请求报文中使用环境变量,使用{ {var}}
来引用变量,变量可以在配置文件(http-client.env.json
或rest-client.env.json
)中定义:
{
"local": {
"host": "http://localhost:8080",
"x_token": "token"
},
"test": {
"host": "http://10.250.1.122:8087",
"x_token": "token"
}
}
在运行的时候选择不同的环境使用不同的变量:
POST {
{host}}/api/item
Content-Type: application/json
{
"name": "ajn",
"age": 24
}
变量也可以在响应脚本中使用
client.global.set
设置和使用client.global.get
获取。
可以使用响应脚本来测试HTTP请求,脚本使用Javascript语言编写:
GET https://httpbin.org/status/404
Accept: application/json
> {%
client.test("Request executed successfully", function() {
client.assert(response.status === 200, "Response status is not 200");
});
%}
响应脚本API详解:
client
:客户端对象
global
:全局变量属性
set(string, object)
:设置变量get(string)
:获取变量isEmpty()
:判断全局变量是否为空clear(string)
:清除某个变量clearAll()
:清除所有变量test(string, function)
:测试函数assert(boolean, string)
:断言函数log(string)
:输出日志函数response
:响应对象
body
:响应体headers
:响应头status
:响应状态码contentType
:响应的ContentType头
在工具栏 Tool | Start SSH session 菜单可以新建SSH会话,在前面服务器管理中如果创建了服务器,会自动添加该服务器的SSH会话。
强大的功能,还远远不够,一个合格的软件,都应支持功能自由地扩展。
Lombok插件支持代码中使用Lombok注解编译生成Get和Set等方法,该插件不仅支持注解,它在菜单中添加了两个功能:
更多设置:File | Settings | Other Settings | Lombok plugin
该插件是结合阿里巴巴Java开发规约而出的,主要功能用于检测代码是否条例阿里开发规范,它结合了IDEA的纠错功能可以快速定位问题和修复问题,在菜单中添加的功能有:
阿里规约插件提示的问题也可以使用
Alt+Enter
来寻找解决办法。
技巧
CamelCase添加一个快捷键 Alt+Shift+U
来修改标识符的下划线、小驼峰、大驼峰等格式,并支持批量转换。
按住
Alt+Shift
使用鼠标单击可以选择多选编辑。
Easy Code插件可以根据数据库表和模板来生成代码,可以解决编写重复底层代码的问题。添加的设置项有:
只需在 Database 工具栏选中一个或多个表,右击 EasyCode | Generate Code 就可以生成代码,针对单表配置类型映射可以右击 EasyCode | Config Table 来配置。
该插件可以一键调用对象的所有Setter方法,在新建对象实例后使用 Alt+Enter
弹出面板中菜单:
该插件用于Maven管理,可以分析Maven依赖结构和执行Maven生命周期,添加快捷键 Ctrl+Alt+R
来运行Maven生命周期,可以在 File | Settings | Other Settings | Maven Helper 中进行设置,另外一个功能就是在pom.xml
文件下方添加了一个Dependency Analyzer标签,可以用来分析Maven依赖,可以查看和解决Maven依赖冲突。
MyBatisX插件主要增强了IDEA对MyBatis框架的支持,可以在 File | Settings | Other Settings | Mybatis 进行设置,它添加的功能有:
@Param
注解该插件是管理Restful接口的工具集,它提供的功能有:
Ctrl+\
来根据URL来跳转到方法定义参考文献