IDEA的下载、安装及配置
IDEA简介
IDEA简介
IDEA全称是IntelliJ IDEA,是JetBrains公司推出一个集成开发工具,是Java开发工具中的翘楚,基于这个开发工具可以快速开发我们的Java相关项目。相对于其它开发工具,IDEA提供了更加强大的提示功能,全面的快捷键操作,模板代码以及快速的资源整合。
IDEA下载、安装
准备工作
- 硬件(Hardware)要求
1)内存8G或以上
2)硬盘磁盘空闲空间大于5GB,最好有一块固态硬盘。 - 软件(Software)要求
1)Microsoft Windows 8 or later
2)macOS 10.13 or later
3)Any Linux distribution
4)Set Up and Config JDK1.8
IDEA工具下载
这里以2023.2版本为例
IDEA官网下载地址如下:
链接: https://www.jetbrains.com/idea/
基于操作系统的不同,可以选择不同平台下的IDEA,例如(商业版):
社区版本往下滑:
商业版收费,社区版免费但功能受限,可根据需要自行选择
IDEA工具安装
IDEA 下载以后需要进行安装才能使用。假如只是下载的解压版本,则可以将其拷贝到非中文目录,然后直接解压进行应用。假如下载的可执行程序(例如windows平台下的.exe文件)则直接启动可执行程序,然后按照提示,一步一步安装即可。
IDEA官方帮助文档文档参考如下:
链接: https://www.jetbrains.com/help/idea/discover-intellij-idea.html
IDEA工具启动
找到解压或安装好的idea根目录,然后进入bin目录找到idea.bat或者idea64.exe文件,然后直接双击进行启动,第一个启动欢迎界面如图所示:
在第一个界面呈现过程中,其实是IDEA底层在进行启动初始化,假如是第一次启动,稍等片刻会进入第二个界面,例如:
点击 New Project 后进入如下接面:
我们这里创建一个空项目,点击 Create 后,打开新建的项目:
IDEA配置
IDEA基本配置
Appearance(显示)主题配置
关闭Intellij IDEA自动更新
在File->Settings->Appearance & Behavior->System Settings->Updates下取消check IDEA updates for勾选
KeyMap(快捷键)配置
Editor(编辑区)配置
General 配置
滚轮滑动,改变字体大小配置,如图所示:
包导入配置,如图所示:
行号与方法分隔符配置,如图所示:
代码提示配置,如图所示:
代码补全配置,如图所示:
Font 配置
代码编辑区字体配置,如图所示:
控制台字体配置,如图所示:
Color 配置
代码中的注释颜色配置,如图所示:
File 编码配置
Build 执行配置
Compiler(编译配置)
自动编译配置(可选),选上了可能会比较慢,如图所示:
配置Java编译版本
我的项目升级为Java17,所以我选择17版本,如果你的为其他版本,选择对应的就可以
Build Tools 中的Maven配置
Maven 初始化配置(假如已有配置好的,可以使用已有的配置)
找到你磁盘中的maven根目录下的conf目录,并打开conf目录下的settings.xml文件,然后进行如下配置:
- 配置maven本地库(从maven远程服务器下载的资源存储到的位置,选择自己创建的repository目录,以我的为例)
<localRepository>D:\TOOL\apache-maven-3.8.1\repository</localRepository>
- 配置maven私服(配置到mirrors标签内部)
<mirror>
<id>aliyun</id>
<name>aliyun for maven</name>
<mirrorOf>*</mirrorOf>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
- 配置maven中的profile(配置到profiles标签内部),设置JDK编译和运行版本
<profile>
<id>jdk-17</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>17</jdk>
</activation>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.compilerVersion>17
</maven.compiler.compilerVersion>
</properties>
</profile>
IDEA 中集成Maven配置
找到Build Tools/Maven选项,然后在IDEA中集成本地maven配置。如图所示:
工程结构配置
我的项目使用的是Java17版本,所以均选择17,你可以根据自己的项目对应版本进行配置
IDEA的性能配置
修改IDEA的参数配置来提高IDEA的运行速度
第1点和第2点必做 ,也是最能提升IDEA运行速度的操作,其他的可以根据自己的需要进行操作
1、更改idea启动配置参数(必做)
找到idea安装目录下的bin文件夹下的 idea64.exe.vmoptions打开,或者直接在IDEA中打开,如下图:
打开如下,主要修改框起来的那3个参数:
基于 64位机器运行修改相关参数
1、 -Xms 是最小启动内存参数
2、 -Xmx 是最大运行内存参数
3、 -XX:ReservedCodeCacheSize 保留代码占用的内存容量参数
可根据自身机器内存手动设置,我的为16+512,设置如下:
-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=512m
这里可以在自己IDEA底部右键,查看所占内存:
2、增加编译内存(必做)
这个配置跟maven一样,每个项目都需要单独来配置一次
项目启动慢,项目起不来 就把编译内存搞大点,效果很显著,各方面速度都有提升,计算机配置硬件高的话,可以多分配点编译内存
3、修改IDEA桌面快捷方式(必做)
安装IDEA软件后,自动生成的桌面启动方式都是32位的,如果你是64位系统,我们使用这个快捷方式运行大项目,一般都会很卡。找到idea的安装目录,进入bin文件,找到名称为 idea64的程序,生成快捷方式,用这个快捷方式启动
4、清理缓存(选做)
5、关闭代码检查(选做)
适当关闭idea的Inspections的检查或者开发时完全关闭Inspections的检查,等开发完后在开启检查,在代码域右上角,如图,鼠标悬停:
主要用来设置当前编辑文档的代码检查等级(我试过设置成None后mybatis的xml文件中的sql语句关键字没有高亮显示,不太习惯,就改回Syntax)
Inspections: 为最高等级检查,可以检查单词拼写,语法错误,变量使用,方法之间调用等
Syntax: 可以检查单词拼写,简单语法错误
None: 不设置检查
IntelliJ IDEA 对于编辑大文件并没有太大优势,很卡,原因就是它有各种检查,这样是非常耗内存和 CPU 的,所以为了能加快大文件的读写,可以考虑暂时性设置为 None。
旧版在IDEA右下角有个小人头,点击也可以设置,新版小人头没有了!
6、卸载不必要的插件(选做)
打开settings-plugins,可以根据项目需要,将用不到的插件都卸载了
以IDEA2023.2版本为例,这个我是按照IDEA的分类顺序来写的,所以要对照的话直接也是按照顺序从上往下看下去就行:
1、安卓相关
不是搞安卓开发的,可以直接全部禁用
名称 | 描述 |
---|---|
Android | 支持使用IntelliJ IDEA和Android Studio开发Android应用程序 |
Android Design Tools | 为Android Studio提供一套设计工具 |
2、构建工具
构建工具的话,我自己用的是maven,所以我只保留了maven,其他的全部禁用了。
名称 | 描述 |
---|---|
Ant | 提供与Ant构建工具的集成 |
Gradle | 提供与Gradle的集成,以实现软件包的构建、测试、发布和部署的自动化 |
Gradle Extension | 提供了额外的Gradle集成功能:IntelliJ Profiler支持渐变运行配置 |
3、Code Coverage 代码覆盖率
java的代码覆盖率插件
名称 | 描述 |
---|---|
Code Coverage for Java | 收集并显示Java的覆盖率信息 |
4、数据库
这个要保留,就算你不用idea创建数据库连接也要保留,原因下面讲到另一个插件时会说。
名称 | 描述 |
---|---|
Database Tools and SQL | 用于基于idea的数据库工具和SQL插件,允许查询、创建和管理数据库,并提供完整的SQL语言支持 |
5、部署工具
这一块的插件我全部禁用了,因为用不到
名称 | 描述 |
---|---|
Docker | 提供与Docker的集成 |
FTP/SFTP/WebDAV Connectivity | 通过FTP(S)/SFTP/WebDAV提供与远程主机的连接,并允许您在文件系统中部署文件或为其提供web路径 |
GlassFish | 提供与GlassFish应用程序服务器的集成 |
Jakarta EE:Application Serviers | 为Java EE/Jakarta EE应用程序服务器提供API,并将其运行配置集成到Services视图 |
Tomcat and TomEE | 增加了对Tomcat应用程序服务器的支持(springboot自带tomcat,用不到) |
WildFly | 允许配置和使用WildFly(JBoss应用程序服务器) |
6、html和xml
名称 | 描述 |
---|---|
HTML Tools | 为HTML/CSS编辑提供高级功能:检查、快速修复、智能导航操作等 |
Refactor-X | idea的新的自动化XML重构 |
XPathView+XSLT | 提供了根据IDE中打开的任何XML文档评估XPath表达式的可能性(禁用后会导致xml的SQL语句关键字没有高亮显示) |
7、ide settings
名称 | 描述 |
---|---|
Settings Sync | IDE 配置同步,需要登录 JetBrains 账号(我这里用不上) |
8、JavaScript框架和工具
这个比较多,看自己有没有涉及到前端开发,没有的话都能给禁用掉。
名称 | 描述 |
---|---|
Angular and AngularJS | Angular 项目支持,Java开发用不到 |
JavaScript and TypeScript | 支持JavaScript和TypeScript语言,Java开发用不到 |
JavaScript Debugger | JavaScript Debug 工具,Java 开发用不到 |
JavaScript Intention Power Pack | JavaScript的上下文操作,Java开发用不到 |
Karma | 与Karma集成的JavaScript测试程序 |
Next.js Support | Next.js框架支持 |
Node.js | node.js项目支持,Java开发用不到 |
Node.js Remote Interpreter | 在远程环境中运行和调试Node.js应用程序,Java用不到 |
Polymer & Web Components | web组件支持,Java用不到 |
Prettier | Prettier支持,Java用不到 |
TSLint | 提供与TSLint的集成,TypeScrip工具 |
Vite | 支持Vite构建工具 |
Vue.js | vue项目支持 |
Webpack | Webpack支持,JavaScript应用程序的静态模块打包器 |
9、jvm框架
这一块的话,基本上都和Java相关,我都没有禁用,全部保留了。因为太多了,我就不一一列出来。
还要就是那几个以spring开头的插件,就是提供对应的导航、自动完成和检查,没用到相应的模块功能,可以禁用。如果你没用到spring cloud或者spring security可以把插件给禁用。
说一下Hibernate这个插件,这个插件必须要勾上,不勾上会导致mybatis里的xml文件的SQL语句关键词没有高亮显示。我一开始就是把它给禁用了,然后SQL关键词没有高亮,我怎么都找不到原因,后面还是偶然间给勾上了才发现的。它勾上了,那么上面说到的Database Tools and SQL插件也会自动勾上。
10、Keymap快捷键映射
我的idea用的时eclipse的快捷键,所以把NetBeans Keymap、Visual Studio Keymap给禁用了
名称 | 描述 |
---|---|
Eclipse Keymap | Eclipse快捷键映射 |
NetBeans Keymap | NetBeans快捷键映射 |
Visual Studio Keymap | Visual Studio快捷键映射 |
11、kotlin框架
这个用不到
名称 | 描述 |
---|---|
Ktor | 用不到,禁用了 |
12、Languages工具
名称 | 描述 |
---|---|
Gherkin | 增加了Gherkin语言的支持 |
Groovy | 增加了对Groovy语言的支持 |
Kotlin | 在IntelliJ IDEA和Android Studio中提供Kotlin语言支持 |
Markdown | Markdown支持 |
Properties | 启用对.properties文件的智能编辑 |
Shell Script | 添加了对使用shell脚本文件的支持 |
Toml | 添加对TOML配置文件语法的支持 |
YAML | 为YAML语言提供语法高亮显示和编辑器功能 |
13、microservices工具
名称 | 描述 |
---|---|
Endpoints | 如果有使用 IDEA 自带的 HTTP Client 进行接口测试的,这个插件可以快速生成对应接口的 请求文件(这个插件被禁用的话,spring相关的几个插件也会被禁用) |
gRPC | gRPC 框架支持 |
HTTP Client | 提供从代码编辑器编写和执行HTTP请求的支持 |
OpenAPI Specifications | 支持OpenAPI和Swagger规范文件 |
Protocol Buffers | Protocol Buffers 文件支持,语法提示等等 |
14、开发工具
名称 | 描述 |
---|---|
Plugin DevKit | 支持为IntelliJ IDEA和其他基于IntelliJ平台的产品开发插件 |
Remote Development Gateway | 远程开发,可以连接你的远程 JetBrains IDE 后端 |
15、style样式工具
这个不写前端的话,基本上也可以禁用掉,我自己是留了CSS,其他几个禁用了
名称 | 描述 |
---|---|
CSS | css编码支持 |
Less | 支持CSS的LESS方言 |
PostCSS | 支持PostCSS |
Sass | 为所有支持JavaScript的JetBrains IDE提供对Sass的支持 |
Tailwind CSS | Tailwind CSS框架的支持 |
16、swing
这个保留
名称 | 描述 |
---|---|
UI Designer | 允许以图形方式设计Swing UI,支持代码生成/插入、预览、小部件库和与UI相关的代码检查 |
17、模板语言工具
FreeMarker、Jakarta EE:Server Pages(JSP)、Thymeleaf、Velocity
名称 | 描述 |
---|---|
FreeMarker | FreeMarker 支持 |
Jakarta EE:Server Pages(JSP) | jsp支持,现在应该没人用jsp了吧? |
Thymeleaf | Thymeleaf 支持 |
Velocity | Velocity支持 |
18、测试工具
名称 | 描述 |
---|---|
Cucumber for Groovy | 添加对Cucumber测试工具的支持 |
Cucumber fo Java | 添加对Cucumber测试工具的支持 |
JUnit | 支持JUnit测试 |
TestNG | 支持TestNG,一个Java单元测试框架 |
19、版本控制工具
如果你的版本控制只用到了Git,可以将其他禁用
名称 | 描述 |
---|---|
Git | 提供与Git集成 |
GitHub | 提供与GitHub的集成 |
Mercurial | 允许使用Mercurial版本控制系统 |
Perforce Helix Core | 允许使用Perforce版本控制系统 |
Subversion | 提供与Subversion VCS的集成 |
20、其他工具
下面这些觉得没用的都可以禁用了
名称 | 描述 |
---|---|
API Recommenders | Recommenders插件补充了ML补全插件,为不同的语言提供上下文感知补全建议,应该是用不到 |
Bytecode Viewer | 显示已编译Java类文件的字节码 |
Code With Me | 协作开发和配对编程的新解决方案,用不到 |
Copyright | 确保项目或模块中的文件具有一致的版权声明,用不到 |
Dependency Structure Matrix | 分析JVM类文件 |
Diagrams | 为所有基于IntelliJ的IDE本机图表类型提供API,用不到 |
Eclipse Interoperability | 实现与Eclipse的互操作性,用不到 |
EditorConfig | 处理.editorconfig文件中的属性,并将它们应用于所有JetBrains IDE中所有支持的语言,用不到 |
Grazie Lite | 普通文本的拼写和语法检查,用不到 |
IDE Features Trainer | 学习快捷键和高效开发技巧的插件,用不到 |
IntelliLang | 支持用户可配置的语言注入,这个不能禁用 |
Java Bytecode Decompiler | .class文件查看器 |
Java Internationalization | 为Java源代码的国际化提供代码检查和相应的快速修复程序(这个不能禁用,会影响很多其他插件) |
Java Stream Debugger | 可视化Java流操作器,不知道干嘛用的,禁用 |
Machine Learning Code Completion | 机器学习代码完成??不知道干嘛用的,禁用 |
Machine Learning in Search Everywhere | 搜索中的机器学习??禁用 |
Package Checker | 检查Gradle、Maven、NPM和PyPI依赖项是否存在已知漏洞 |
Package Search | 查找和管理JVM和Kotlin多平台项目的依赖关系 |
Performance Testing | 用于自动执行测试脚本、捕获性能快照和收集性能统计信息的插件,禁用 |
Qodana | JetBrains 开发的一种代码质量检测工具,可以将智能代码检查带入到 CI/CD 管道中,禁用 |
Shared Project Indexes | 通过使用定制的项目共享索引来减少总体索引时间和CPU使用,禁用 |
Space | JetBrains 为团队和项目开发提供的一个解决方案,用不到 |
Styled Components & Styled JSX | 添加了对样式化组件和样式化jsx的支持,禁用 |
Task Management | 为IDE提供任务管理功能 |
Terminal | 提供集成终端(视图 |
TextMate Bundles | 支持由TextMate捆绑包控制的任意文件类型的语法高亮显示 |
Time Tracking | 启用“任务管理”插件的时间跟踪 |
WebP Support | webp 格式的图片查看 |