IDEA开发工具
IntelliJ IDEA 的介绍
IDEA 全称 IntelliJ IDEA
,是 Java 语言开发的集成环境,一般叫 IDEA,IntelliJ IDEA 在业界被公认为最好的 Java 开发工具之一,IDEA 是 JetBrains 公司的产品
IntelliJ IDEA 的优点
智能代码助手、重构、J2EE 支持、各类版本工具(Git、Svn、GitHub 等)最突出的功能自然是调试(Debug)可以对 Java 代码,JavaScript,JQuery,Ajax 等技术进行调试。其他编辑功能抛开不看,这点远胜 Eclipse
IntelliJ IDEA 的缺点
太过强大的自动提示会让使用者渐渐的依赖上 IDEA 的自动提示
IntelliJ IDEA 的下载
下载地址:https://www.jetbrains.com/idea
接下来安装就是傻瓜式的下一步下一步,没太多的注意点,可以参考:IDEA安装与破解
IntelliJ IDEA 创建工程
创建普通的工程
配置 JDK,配置方式如下,配置完成之后按照下图创建普通的工程即可
创建工程
创建 Maven Jar 工程
参考:https://www.cnblogs.com/BNTang/articles/13772661.html
关于创建中的坐标详解请参考:https://www.cnblogs.com/TangXiaoHuiHui/articles/12264019.html#gallery-3
创建 Maven Web 工程
也就是 war
工程
参考文章如下:
- https://www.cnblogs.com/TangXiaoHuiHui/articles/12264019.html
- https://xiaohuihuit.github.io/2020/07/05/IDEA中使用Maven/
- https://www.cnblogs.com/BNTang/articles/13602539.html
常用玩法
我猜应该有的小伙伴是在学习过程中有这样一个问题,在使用 eclipse 的时候都有一个操作就是使用第三方 jar 的时候需要编译到当前的工程当中,那么 elipse 会到了 intellij IDEA 中如何编译呢,那么按照如下图操作即可进行编译到当前项目工程当中,按照下图点击会弹出一个窗口点击 ok
即可完成编译到工程中
选择需要覆盖的方法和查看当前类已实现的方法,在需要查看的类当中按 Ctrl + O
即可
快速生成一些你平时需要的一些方法,比如 get / set / Test 等等,在需要生成的类当中按 alt + insert
即可弹出如下的窗口然后自行选择生成即可
强大的 symbol
如果你依稀记得某个方法名字的几个字母,想在 IDEA
里面找出来,可以怎么做呢?直接使用 ctrl + shift + alt + n
,使用 symbol
来查找即可。比如说:
你想找到 isNumber 方法。直接输入 number
即可
如果你记得某个业务类里面有某个方法,那也可以使用首字母找到类,然后加个 .
再输入方法名字也是可以的
找目录
使用 ctrl + shift + n
后,使用 /
,然后输入目录名字即可
把鼠标定位到 project 视图里
当工程里的包和类非常多的时候,有时候我们想知道当前类在 project 视图里是处在哪个位置
上面图中的 Demo
里,你如何知道它是在 jdk8
工程里的哪个位置呢?可以先使用 alt + F1
弹出 Select in
视图,然后选择 Project View
中的 Project
,回车,就可以立刻定位到类的位置了
那如何从 project
跳回代码里呢?可以直接使用 esc
退出 project
视图,或者直接使用 F4
跳到代码里
去掉导航栏
去掉导航栏,因为平时用的不多
可以把红色的导航栏去掉,让 IDEA
显得更加干净整洁一些。使用 alt + v
,然后去掉 Navigation bar
即可。去掉这个导航栏后,如果你偶尔还是要用的,直接用 alt + home
就可以临时把导航栏显示出来
如果想让这个临时的导航栏消失的话,直接使用 esc
快捷键即可
IDEA 开发常用配置
idea 打开窗口 / tab 过多导致隐藏解决办法
参考文章链接:https://blog.csdn.net/gggg989898/article/details/109714045
配置编码
点击 intellij IDEA 左上角的 File
→ Settings
→ File Encodings
统一选择 UTF-8 如下图
配置行分隔符
配置方法之间的分割线
好处就是让你的代码看起来更加的简洁明了,那么如何配置呢,如下图
点击 IDEA 左上角 File
→ Settings
在如下图的进行设置勾选即可
配置内存占用大小
点击 Help
→ Edit Custom VM Options
如下图
老版本使用IDEA 创建 Maven Web工程:https://www.cnblogs.com/TangXiaoHuiHui/articles/12264019.html
在平日里,开发当中我们使用 Git 提交文件有的文件是不需要提交的,这时候我们可以新建一个目录出来专门放一些不提交的文件,新建好了之后把不需要提交的文件拖入之中即可,提交的时候不选择这个文件夹即可具体玩法如下
把不需要的文件投入那个不需要提交的文件目录不选择即可
专注模式
专注模式就是将某一个文件设置为全屏,可以很好的观察代码与开发,最终设置的效果如下图所示
File → Settings → Keymap
在专注模式下设置左侧显示的代码行号 View
→ Active Editor
如下图所示
这里的快捷键是我自己配置了你也可以配置为其他的,进入和退出都是按这个快捷键进行即可
还可以使用【Presentation Mode】将 IDEA
弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的 coding
。可以使用 Alt + V
快捷键,弹出 View
视图,然后选择 Enter Presentation Mode
。效果如下:
这个模式的好处就是,可以让你更加专注,因为你只能看到特定某个类的代码。可能读者会问,进入这个模式后,我想看其他类的代码怎么办?这个时候,就要考验你快捷键的熟练程度了。你可以使用 CTRL + E
弹出最近使用的文件。又或者使用 CTRL + N
和 CTRL + SHIFT + N
来定位文件
如何退出这个模式呢?很简单,使用 ALT + V
弹出 view 视图,然后选择 Exit Presentation Mode
即可。但是我强烈建议你不要这么做,因为你是可以在 Enter Presentation Mode
模式下在 IDEA
里面做任何事情的。当然前提是,你对 IDEA
足够熟练
配置 Tomcat
https://www.cnblogs.com/BNTang/articles/13602539.html
配置字体
Windows下Idea,AndroidStudio的字体美化:https://www.jianshu.com/p/ec68073ecb09
我设置的字体样式如下
配置 Maven
配置本地 Maven 仓库地址,以及 Maven 地址
关于 Maven 的下载和安装可以参考:https://myblog.ddos-sec.cn/tags/Maven/
上方我推荐的文章当中是 Maven 所有的内容了,自行参考完毕在 IDEA 中配置之后就没有任何问题了,配置了 Maven 的 setting.xml 仓库地址会自动识别
修改 Maven 显示视图的关系
但是实际上 his-commons 是 BNTang-his 的一个子项目可以修改显示的层级关系,改完之后的结构更加明了
开启注解的支持
点击 intellij IDEA 左上角的 File → Settings
File and Code Templates 的配置,就是在创建类或者枚举等文件的时候会先提示你输入当前文件对应的描述信息如下图所示
/*
* Copyright (c) 2020-2030 it6666.top. All Rights Reserved.
*/
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
* @author BNTang
* @version 1.0
* @program ${PROJECT_NAME}
* @date Created in ${DATE} ${TIME}
* @description ${description}
**/
public class ${NAME} {
}
忽略代码大小写提示
自动导包
,写第一次时会导入,下一次就不会自动导入了,当一个类有多个包时,此时要自己手动来进行选择(按 alt + enter
)
项目选择
,IDEA 打开后,但是只能打开一个项目,默认情况是打开上次运行的项目,设置打开 IDEA 时,选择打开哪一个项目
隐藏 .idea
, *.iml
文件,因为这是 IDEA 打开项目自己生成的一些配置信息,我们并不需要看到以防删除导致一系列的坑
隐藏 out 目录
,这个目录存放着编译过后的字节码文件的目录
格式化代码
有一天我突然的发现自己的格式化代码规则和同事的不一样了,参考的如下文章进行解决的,当然我把格式化配置放在了自己的蓝奏云中了防止丢失
下载链接:https://wwe.lanzoui.com/iYo5Qp4dcti
插件
MyBatisCodeHelperPro
- 通过Intellij数据库表生成mybatis crud代码或添加数据库连接
- 基于mybatis接口方法名(如spring data jpa)生成mybatis sql,有了它,您就不必为非连接查询支持生成语句编写大多数sql,并使用测试
- 数据库生成crud可以在您添加或删除列时生成多次,插件将自动合并代码
- 等等...
- 这个插件是收费的,可以自己百度下载破解版本,本地安装即可
- 和这个插件类似的有
Free MyBatis plugin
- 可参考:https://www.cnblogs.com/BNTang/articles/13830043.html
插件名称 | 作用 |
---|---|
跟踪代码利器SequenceDiagram | 可以生成代码的调用流程,跟踪代码会更加方便。 |
MyBatisX | MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。 官方地址:https://mp.baomidou.com/guide/mybatisx-idea-plugin.html |
leetcode editor | 在IDE中做Leetcode练习,支持leetcode.com和Leetcode -cn.com,满足做练习的基本需求。理论上支持:IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio。 |
Rainbow Fart | IntelliJ Rainbow Fart是一个扩展,在你编码的时候一直给你赞美。它将检查代码中的关键字来播放相关声音。彩虹屁是从中文直译过来的,意思是给某人夸张的赞美,甚至看起来有点假。它与任何特定的团体或个人无关。 |
Lombok | 现在讨论代码就像高亮显示代码块并在IDE中输入注释一样简单。消除代码检查的痛苦,提高代码质量。 |
Alibaba Java Coding Guidelines | 阿里巴巴 Java 编码指南插件支持。 |
.ignore | 用于创建新过滤文件。 |
GitToolBox | 扩展Git与其他特性的集成,状态显示,自动取回,内联责备注释,提交对话框完成,后面的通知和更多。 |
CodeGlance | 在编辑器窗格中嵌入一个类似于Sublime中的代码小地图。使用自定义的颜色进行语法高亮,可以同时处理浅色和深色主题。 |
Key Promoter X | 关键推动者X帮助你学习工作时的基本捷径。当您在IDE内的按钮上使用鼠标时,关键启动子X会显示您应该使用的键盘快捷键。这提供了一种简单的方法来学习如何用键盘键替换乏味的鼠标工作,并帮助过渡到更快的、没有鼠标的开发。关键启动器X工具窗口显示您最常用的鼠标操作的点击列表,并直接为您提供可以替代的快捷方式。对于没有快捷方式的按钮。 |
Sonarlint | SonarLint是一个免费的IDE扩展,让你在编写代码时修复bug和漏洞!像拼写检查器一样,SonarLint动态地突出显示代码问题,并提供清晰的补救指南,以便您甚至可以在代码提交之前对它们进行修复。通过流行的ide (Eclipse, IntelliJ, Visual Studio, VS Code)和流行的编程语言,SonarLint帮助所有开发人员编写更好和更安全的代码。 |
copyright | 设置 IDEA 新建新的文件的版权所属,可以自行百度,很简单。 |
mybatis log plugin | 安装与破解方式地址:https://songzixian.com/windowstooluse/1511.html |
Momo Code Sec Inspector (Java) | Java静态代码安全审计插件。本插件侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力。本插件利用IDEA原生Inspection机制检查活跃文件,检查速度快,占用资源少。插件提供的规则名称均以"Momo"开头。 |
Tabnine Al Autocomplete: JavaScript C Python Ruby Rust Go PHP... | Tabnine是世界领先的人工智能助手,旨在帮助您更快地编写代码,减少错误,并发现最佳的编码实践,而不必离开舒适的IntelliJ。 |
MyBatisCodeHelperPro (Marketplace Edition) | 功能和 MyBatisCodeHelperPro 完全相同! |
Code With Me | Code With Me 成为 IntelliJ IDEA 和其他基于 IntelliJ 的 IDE 中的新功能。 它使您可以与分布式团队共享本地运行的项目。 这使他们能够快速访问您的代码,从而可以帮助您实时调查问题,与您一起检查代码并进行处理。 同时仍然可以享受 JetBrains IDE 中提供的代码自动补全、智能导航、重构、调试套件和内置终端的所有好处,协作开发。 |
Maven Helper | 使用Maven必须有插件。提供:简单的方法来分析和排除冲突的依赖项。操作来运行/调试包含当前文件的模块的maven目标,或在根模块上操作打开终端,在当前maven模块路径操作来运行/调试当前测试文件。如果maven-surefire-plugin被配置为跳过或排除测试,将使用“verify”目标,请参阅https://github.com/harishkannarao/MavenSurefireFailsafeExamples上的不同配置样式。 |
Rainbow Brackets | 彩虹括号。 |
Momo Code Sec lnspector (Java) | 本插件侧重于在编码过程中发现项目潜在的安全风险,并提供一键修复能力。 This plugin focus on the security risks and provides one-click fix capability。 |
Codota Al Autocomplete for Java and JavaScript | 为Java和JavaScript使用AI更好地完成代码。Codota使用最先进的机器学习模型来提高工作效率,为开发人员节省时间。支持IntelliJ, Android Studio, WebStorm,和PhpStorm。 |
Translation | 翻译插件。 |
Grep Console | Grep,尾部,过滤器,突出显示...控制台所需的一切(JS / NPM / GoLand / ...不支持终端-IDEA-216442)。也可以突出显示编辑器。 |
Key Promoter X | Key Promoter X可帮助您在工作时学习基本的快捷方式。当您在IDE内的按钮上使用鼠标时,Key Promoter X会显示您应该使用的键盘快捷键。这提供了一种简单的方法来学习如何用键盘键代替繁琐的鼠标工作,并有助于过渡到更快的无鼠标开发。 Key Promoter X工具窗口显示了您最常使用的鼠标操作的命中列表,并直接为您提供了可以使用的快捷方式。对于没有快捷方式的按钮,Key Promoter X会提示您直接创建一个。 |
Material Theme UI | Material Theme UI是JetBrains IDE(IntelliJ IDEA,WebStorm,Android Studio等)的插件,可将原始外观更改为Material Design外观。 |
easy_javadoc | 本项目是IntelliJ IDEA的插件,能帮助java开发者自动生成javadoc文档注释 官方地址:https://github.com/starcwang/easy_javadoc |
AiXcoder Code Completer | aiXcoder 一款国产代码开发工具,提供了比较强大的代码补全、预测的功能,它的宗旨就是让我们少些代码,能自动生成的绝不手写,上手感受下就会爱上它官方地址:https://github.com/aixcoder-plugin/doc |
String Manipulation | String Manipulation 一个比较实用的字符串转换工具,比如我们平时的变量命名可以一键转换驼峰等格式,还支持对字符串的各种加、解密(MD5 、Base64 等)操作官方地址:https://github.com/krasa/StringManipulation |
Git Auto Pull | 团队多人开发项目时,由于频繁提交代码,等我在commit 本地代码的时必须先进行pull ,否则就会代码冲突产生merge 记录。GitAutoPull 插件帮我们在push 前先进行pull ,避免了不必要的代码冲突。 |
HighlightBracketPair | 括号开始结尾,高亮显示 |
Save Actions | 支持可配置的、类似 Eclipse 的保存操作,包括“优化导入”、“重新格式化代码”、“重新排列代码”、“编译文件”和一些针对 Java 的快速修复,如“添加/删除‘这个’限定符”等。 插件当文件在磁盘上同步(或保存)时执行配置的操作 |
Eclipse Code Formatter | 允许直接从 IntelliJ 使用 Eclipse 的 Java 代码格式化程序。解决了在同时使用 IDEA 和 Eclipse 的团队环境中维护通用代码风格的问题 |
Fast Request | Restful Fast Request 是一个强大的restful api工具包插件,可以根据已有的方法帮助您快速生成url和params。 Restful Fast Request = API调试工具+API管理工具。 它有一个漂亮的界面来完成请求、检查服务器响应、存储你的api请求和导出api请求 插件帮助你在IDEA界面内更快更高效得调试你的API 支持 Spring 体系 (Spring MVC / Spring Boot) |
MapStruct Support | MapStruct是一款基于Java注解的对象属性映射工具,在Github上已经有4.5K+Star。使用的时候我们只要在接口中定义好对象属性映射规则,它就能自动生成映射实现类,不使用反射,性能优秀,能实现各种复杂映射 |
IDEA 快捷键大全
参考地址:https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/keymap-introduce.md
- IDEA 中字母大小写转换快捷键:ctr + shift + u
Ctrl + Shift + alt + insert
新建文件
神奇的 Inject Language
如果你在使用 IDEA
在编写 JSON
字符串的时候,然后要一个一个 \
去转义双引号的话,就实在太不应该了,又烦又容易出错。在 IDEA
中可以使用 Inject language
帮我们自动的来转义双引号
先将焦点定位到双引号里面,使用 alt + enter
快捷键弹出 inject language
视图,并选中 Inject language or reference
选择后, 切记,要直接按下 enter
回车键,才能弹出 inject language
列表。在列表中选择 json
组件
选择完成后。鼠标焦点自动会定位在双引号里面,这个时候你再次使用 alt + enter
就可以看到如下图
选中 Edit JSON Fragment
并回车,就可以看到编辑 JSON
文件的视图了
可以看到 IDEA
确实帮我们自动转义双引号了。如果要退出编辑 JSON
信息的视图,只需要使用 ctrl + F4
快捷键即可
Inject language
可以支持的语言和操作多到你难以想象,读者可以自行研究
使用快捷键移动分割线
假设有下面的场景,某个类的名字在 project
视图里被挡住了某一部分
那么这个时候,你想完整的看到类的名字,该怎么做。一般都是使用鼠标来移动分割线,但是这样子效率太低了。可以使用 alt + 1
把鼠标焦点定位到 project
视图里,然后直接使用 ctrl + shift + 左右箭头
来移动分割线
不要动不动就使用 IDEA 的重构功能
IDEA
的重构功能非常强大,但是也有时候,在单个类里面,如果只是想批量的修改某个文本,大可不必使用到重构的功能。比如说:
上面的代码中,有 5
个地方用到了 rabbitTemplate
文本,如何批量修改呢?首先是使用 ctrl + w
选中 rabbitTemplate
这个文本, 然后依次使用 5 次 alt + j
快捷键,逐个选中,这样五个文本就都被选中并且高亮起来了,这个时候就可以直接批量修改了
IDEA 主题
以下这两款是比较流行的,所以推荐以下需要的自行下载,可以去度娘搜索 IDEA 主题官网,当然我这里也提供了下载地址
Relax Your Eyes.jar
Sublime Text 2.jar
下载地址:https://files.cnblogs.com/files/BNTang/IDEA主题.zip
安装方式:打开 idea,点击 File → Import Settings,在弹出的窗口中选择刚刚下载的主题包即可按照
插件式的主题我在下面推荐一些,自行参考,本人比较喜欢的
- Hiberbee Theme
IDEA 使用中遇到的问题
IntelliJ IDEA 自动添加空行问题:https://blog.csdn.net/caiyunlei91/article/details/107290656/
Idea 运行报错 Error running 'Application': Command line is too long的解决方法:https://blog.csdn.net/weixin_43689480/article/details/100983585
关于 IDEA 菜单
旧版本升级到新版本
去IDEA官网下载最新版本下载地址:https://www.jetbrains.com/idea/
这个时候你本地已经有了一个版本的IDEA已经安装了这个时候呢,你又下载好了最新的安装吧,你直接运行最新版本的IDEA安装包如下图所示
点击下一步,如下图,把下图的勾勾打上,这个勾勾所包含的内容有就是不卸载旧版本的配置,上面两个勾勾就是说需不需要卸载旧版本的IDEA版本,我这里就不先卸载旧版本配置我是保留的,为了让最新的IDEA使用我的旧版本的配置
之后的选项就可以按照你们个人来进行选择了,如果你想和我的一样你可以参考如下图:
上面的那一步之后就是下一步下一步了就可以升级成功了,还有一种方式升级就是你平时在打开 IDEA 的时候右下角会弹出一个 update 的窗体,你点击一下他就会去下载最新版本的 IDEA 的,如下图所示
如果你发现有最新的版本了但是 IDEA 没有主动的给你提示升级这个时候你就可以点击 help
中的一个 checK for updates
如下图所示:
关于搜索内容
连续按两下 Shift,然后在显示出来的框中输入自己想查找的内容就行了,这个是 全局搜索
。按两下 Ctrl 也可以搜索,不过不是全局搜索。以下是按两下 Shift 出来的框子
以下是按两下 Ctrl 出来的框子
系统菜单
可以使用 alt + 0 - 9 可以在不同的场景显示你需要看到的系统菜单
在专注模式中如果想显示文件栏,就是当前打开的所有文件,可以按照如下的方式进行设置
设置完成最终的效果如下图所示:
单元测试
IDEA 中提供了一个可以快速的帮助我们来生成单元测试的类,具体操作如下,选择你需要进行单元测试的方法或者内容,鼠标右键选择 Go To
这是2020.3.1版本的IDEA生成方式,好像老版本的不是这个,但是八九不离十,你看到图中,Test 那里是不是有一个快捷键当然也是可以使用的,快捷键为 Ctrl + Shift + T
点击之后的效果图如下,生成之后就可以自行测试啦,完毕
部分插件使用文档
热部署项目
什么是热部署,代码发生变化时,不需要重新启动服务器,首选需要安装 jrebel
插件安装方式如下
然后在让项目支持 jrebel
那么如何才可以让项目支持呢,如下图所示
配置 jrebel 每隔多久自动更新一次代码配置方式如下,点击下图中的 work online
为离线状态
jrebel 的破解可参考:https://active.jrebel.cn