🎉 为什么会有这篇教程:熟悉 IDEA 并能灵活熟练使用 IDEA 能极大提高您的开发效率!!!
📍 本文教程基于 IDEA 2022.2。
📍 本文教程的所有操作图片均是实操测试截图,合计 213 张图片,呈现的截图使用的 IDEA 的 Darcula 主题。
📍 您的任何设置在配置后记得点击
Apply
或Ok
进行保存。📍 本文教程更适用于 IDEA 2022 及以下版本。如果您的 IDEA 版本是 2023 及以上,由于不同版本 IDEA 操作可能存在一定差异,请参考我的另一篇教程:2023版IDEA的下载、安装、配置、快捷键、模板、插件与使用。当然,如果您的 IDEA 版本是 2022 及以下,建议您阅读完 2022 版 IDEA 教程后再去看2023版的文章,因为相较于 2022 版肯定是增加了更多的实用操作并对内容进一步优化完善。
IDEA(https://www.jetbrains.com/zh-cn/)是 JetBrains 公司的产品,公司旗下还有其它产品,比如:
WebStorm
:用于开发 JavaScript、HTML5、CSS3 等前端技术;PyCharm
:用于开发 pythonPhpStorm
:用于开发 PHPRubyMine
:用于开发 Ruby/RailsAppCode
:用于开发 Objective - C/SwiftCLion
:用于开发 C/C++DataGrip
:用于开发数据库和 SQLRider
:用于开发.NETGoLand
:用于开发 GoAndroid Studio:用于开发 android(google 基于 IDEA 社区版进行迭代)
IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。
💬 IntelliJ IDEA 在 2015 年的官网上这样介绍自己:
Excel at enterprise, mobile and web development with Java, Scala and Groovy, with all the latest modern technologies and frameworks available out of the box.
IntelliJ IDEA 主要用于支持 Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和 Web 应用的开发。
强大的整合能力。比如:Git、Maven、Spring 等
提示功能的快速、便捷
提示功能的范围广
好用的快捷键和代码模板
精准搜索
🏠 中文地址: https://www.jetbrains.com/zh-cn/idea/download/#section=windows
🏠 英文地址:https://www.jetbrains.com/idea/download/#section=windows
IDEA 分为两个版本:旗舰版(Ultimate)
和社区版(Community)
。旗舰版收费(限 30 天免费试用),社区版免费,这和 Eclipse 有很大区别。
这里提供了不同操作系统下的两个不同版本的安装文件。
两个不同版本的详细对比,可以参照官网:https://www.jetbrains.com/products/compare/?product=idea&product=idea-ce
🏠 https://www.jetbrains.com/help/idea/getting-started.html
建议配置:内存 8G 或以上,CPU 最好 i5 以上,最好安装块固态硬盘(SSD),将 IDEA安装在固态硬盘上,这样流畅度会加快很多。
JRE 1.8 is bundled with the IntelliJ IDEA distribution. You do not need to install Java on your computer to run IntelliJ IDEA.A standalone JDK is required for Java development.
JRE 1.8与IntelliJ IDEA发行版捆绑在一起。运行IntelliJ IDEA不需要在计算机上安装Java。Java开发需要独立的JDK。
🏠 下载地址:https://www.jetbrains.com/zh-cn/idea/download/#section=windows
这里我们下载旗舰版进行演示,如果你没有学校教育邮箱可选择下载Community社区版
Create Desktop Shortcut
:创建桌面快捷方式图标,建议勾选Update context menu
:是否将从文件夹打开项目添加至鼠标右键,根据需要勾选Create Associations
:idea关联文件格式,不推荐勾选,由于idea是重量级的软件,因此打开单个文件一般都是使用如Sublime Text、EditPlus等轻量级文本编辑器打开Update PATH variable (restart needed)
:是否将IDEA启动目录添加到环境变量中,即可以从命令行中启动IDEA,根据需要勾选。但是我们一般都用自己的,即我们在安装 JDK 时都会自己配置好与下载的JDK相关联的环境变量。从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是实际在开发中其实并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。
找到你的安装目录,查看里面的文件:
📍 bin 目录下
关于调整VM配置文件 idea64.exe.vmoptions
:
如果是32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
64 位操作系统且内存大于 8G 的,如果你是开发大型项目、Java 项目或是 Android 项目, 建议进行修改,常修改的就是下面 3 个参数:
-Xms128m:设置初始的内存数,增加该值可以提高 Java 程序的启动速度。
16 G 内存的机器可尝试设置为 -Xms512m
-Xmx750m:设置最大内存数,提高该值,可以减少内存 Garage垃圾 回收的频率,提高程序性能。
16 G 内存的机器可尝试设置为 -Xmx1500m
-XX:ReservedCodeCacheSize=512m:保留代码占用的内存容量
如果找不到该文件,可以先启动idea创建新项目后再次查看是否存在。
C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2022.2
这是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置, 所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
申请教育邮箱获取个人许可证参考:https://blog.csdn.net/qq_62982856/article/details/126570223
IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是Project。这里可以把 Project 理解为 Eclipse 中的 Workspace。
Create New Project
:创建一个新的工程Open
:打开一个已有工程Get from VCS
:可以通过服务器上的项目地址 check out Github 或其他 Git 托管服务器上的项目 拉取到本地在 src 目录下创建一个包:com.fox
在com.fox 包下创建一个HelloWorld程序:
接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试:
package com.fox;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
在 IDEA 中写完代码后,不用点击保存。因为 IDEA 会进行实时保存代码。
在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:
- IDEA 官网说明:
An Eclipse workspace is similar to a project in IntelliJ IDEA
An Eclipse project maps to a module in IntelliJ IDEA
- 翻译:
Eclipse 中 workspace 相当于 IDEA 中的 Project
Eclipse 中 Project 相当于 IDEA 中的 Module
从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在IntelliJ IDEA 是无法做到的。IntelliJ IDEA 提供的解决方案是打开多个项目实例, 即打开多个项目窗口。即:一个 Project 打开一个 Window 窗口。
在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构。
这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系的。举例:
相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单Module 的结构的。
创建一个新类进行测试:
package com.module;
public class Hello {
public static void main(String[] args) {
System.out.println("module Hello World");
}
}
这里说的去模块化,不是指删除module文件夹,而是指该项目选择忽略该module。
但必须明白,在项目文件夹下还是依旧存在该module的:
这里说的删除,就是真正的删除文件夹,从硬盘中去除。
我们依旧可以再查看一下项目文件夹下是否存在 module01 的文件夹:
SDK 就是 Software Development Kit 的缩写,中文意思就是【软件开发工具包】。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做【SDK】。以下是详细介绍:
- SDK的外语全称是Software Development Kit,中文为:软件开发工具包,一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合;
- 可以将其理解为,由第三方服务商提供的实现软件产品某项功能的工具包,里面一般以集合kpi和文档、范例、工具的形式出现,也就是由很多类型文件的集合;
- 通常SDK是由专业性质的公司提供专业服务的集合,比如提供安卓开发工具、或者基于硬件开发的服务等。也有针对某项软件功能的SDK,如推送技术、图像识别技术、移动支付技术等,同时资源优势类的公司也提供资源共享的SDK,如一些广告SDK提供盈利渠道,分发SDK提供产品下载渠道。
- 目前在国内互联网环境中大部分的SDK都是免费的, 为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构建SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
IntelliJ IDEA 有很多人性化的设置,也因为这些人性化的设置让那些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它。
效果展示:
取消自定义背景样式:
如果想要更多的主题效果的话,可以到如下的网站下载:https://plugins.jetbrains.com/search?tags=Theme
可能会弹出一个白框,直接 got it 即可。这时会正常下载该 jar 包。
idea :file –> Manage IDE Settings -> Import setttings –> 选中下载的主题 jar 文件 –> 一路确认 –> 重启。
下一步可能会报错,导入失败,具体请看下图后面的说明。
点击OK后,一路确认,在重启以后,新主题会自动启用。但可能会出现如下错误:
如果出现了如下报错说明导入失败,我目前暂未找到解决方案,但可以如下方式导入:
当然,也可以直接搜索对应插件进行安装,然后重启生效:
如果对安装的主题插件不满意,还可以找到此插件,进行卸载 – 重启 IDEA 即可。
我们可以勾选此设置后,增加 Ctrl + 鼠标滚轮
快捷键来控制代码字体大小显示。
效果展示:
手动导包,需要将光标放在需要导包的爆红代码上,然后
alt+enter
,选择 import class 选择需要导入的类即可。
但这样明显很麻烦,我们让编译器能自动导入没有冲突的类(注意:上图的Date类由于在多个包中存在,我们依旧需要自己导入,但如果你写了Scanner类编译器就可以帮你自动导入):
Add unambiguous imports on the fly
:自动导入不明确的结构Optimize imports on the fly
:自动帮我们优化导入的包Show line numbers
:显示行数。我建议一般这个要勾选上。Show method separators
: 显示方法分隔线。这种线有助于我们区分开方法,所以建议勾选上。效果展示:
IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。
区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer
, IntelliJ IDEA 默认是不会帮我们提示或是代码补充的,但是如果我们输入 StringBuffer
就可以进行代码提示和补充。
如果想不区分大小写的话,取消勾选 Match case 即可。
在打开很多文件的时候,IntelliJ IDEA 默认是把所有打开的文件名 Tab 单行显示的。但是我个人现在的习惯是使用多行,多行效率比单行高, 因为单行会隐藏超过界面部分 Tab,这样找文件不方便。
如果当前主题不希望使用默认字体、字体大小、字体行间距,还可以单独设置:
效果展示:
/**
@author 狐狸半面添
@create ${YEAR}-${MONTH}-${DAY} ${TIME}
*/
我们将如上信息放到上方:
当创建一个新文件(类/接口)时,会自动加上文档注释信息:
常用的预设变量:
- ${PACKAGE_NAME} - the name of the target package where the new class or interface will be created.
- ${PROJECT_NAME} - the name of the current project.
- ${FILE_NAME} - the name of the PHP file that will be created.
- ${NAME} - the name of the new file which you specify in the New File dialog box during the file creation.
- ${USER} - the login name of the current user.
- ${DATE} - the current system date.
- ${TIME} - the current system time.
- ${YEAR} - the current year.
- ${MONTH} - the current month.
- ${DAY} - the current day of the month.
- ${HOUR} - the current hour.
- ${MINUTE} - the current minute.
- ${PRODUCT_NAME} - the name of the IDE in which the file will be created.
- ${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc.
- ${MONTH_NAME_FULL} - full name of a month. Example: January, February, etc.
Transparent native-to-ascii conversion 主要用于转换 ascii,一般都要勾选, 不然 Properties 文件中的注释显示的都不会是中文。
对单独文件的编码修改还可以点击右下角的编码设置区。如果代码内容中包含中文,则会弹出如上的操作选择。其中:
如果文件中出现了中文,还会出现如下提示:
构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程。
Intellij Idea 默认状态为不自动编译状态,Eclipse 默认为自动编译:很多朋友都是从 Eclipse 转到 Intellij 的,这常常导致我们在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译,从而对旧文件进行了操作。
如上图所示,IntelliJ IDEA 有一种叫做 省电模式
的状态,开启这种模式之后IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种 阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。我们不建议勾选此项,如果是刚学Java的小伙伴可以勾选此项来练习编写java代码的能力。
水平显示演示:
垂直的效果就不再演示:选择 split Down
或 split and move Down
即可
功能 | 快捷键 |
---|---|
光标在接口方法处,可以去跳转到实现该接口的子类去重写该方法 | Ctrl+Enter |
万能解错/生成返回值变量/提示/优化 | Ctrl+Enter |
光标在方法处,定位到实现该方法的类的方法处 | Ctrl+Alt+b |
定位在接口处,看到接口的子接口和实现子类 | Ctrl+Alt+b |
光标目标切换大小写 | Ctrl+Shift+U |
在本文件中搜索关键字快速定位 | Ctrl+f |
在所有文件中查找关键字 | Ctrl+shift+f |
快捷语句(选中后 region...endRegion Comments 可以实现代码折叠) | ctrl + alt + t |
方法重写 | ctrl + i |
全局关键字查找 | ctrl + n |
复制文件名 | shift + c |
查看继承关系 | ctrl + h |
查看当前所在类的所有方法并可以搜索 | ctrl + F12 |
查看方法与变量的使用 | ctrl + alt + h |
查找变量的使用 | alt + F7 |
entity基本方法的生成 | alt + insert |
查看方法参数 | ctrl + p |
复制光标所在行到下一行 | ctrl + d |
光标向下插入新行并使光标移至新行 | shift + enter |
退回到前一个编辑的页面 | alt + left(箭头) |
进入下一个编辑的页面(针对上一条) | alt + right(箭头) |
退回到上一个编写的光标处 | ctrl + alt + left |
进入到下一个编写的光标处(针对下一条) | ctrl + alt + right |
代码格式化 | ctrl + alt + L |
复制代码 | ctrl + c |
撤销 | ctrl + z |
反撤销 | ctrl + y |
剪切 | ctrl + x |
粘贴 | ctrl + v |
保存 | ctrl + s |
全选 | ctrl + a |
代码单行注释 | ctrl + / |
代码多行注释 | ctrl + shift + / |
选中部分整体向后移 | tab |
选中部分整体向前移 | shift + tab |
当前所在类重写Object类的某个方法 | ctrl + o |
对标识符进行名字重构 | shift + F6 |
查找文件 | shift + shift |
查看类的继承结构图 | ctrl + alt + shift + u |
关闭当前文件 | ctrl + F4 |
查看最近访问的文件 | ctrl + e |
选择要粘贴的内容 | ctrl + shift + v |
将选中封装成一个方法 | ctrl + alt + m |
Editor – Live Templates 和 Editor – General – Postfix Completion
官方介绍 Live Templates:https://www.jetbrains.com/help/idea/using-live-templates.html
它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();
Postfix Completion 默认如下:
Live Templates 默认如下:
二者的区别:Live Templates 可以自定义,而 Postfix Completion 不可以。同时, 有些操作二者都提供了模板,Postfix Templates 较 Live Templates 能快 0.01 秒。
可生成 main 方法
System.out.println() 快捷输出。
类似地:
soutp = System.out.println("方法形参名 = " + 形参名);
soutv = System.out.println("变量名 = " + 变量);
soutm = System.out.println("当前类名.当前方法");
“abc”.sout => System.out.println("abc");
可生成 for 循环
类似地:
iter:可生成增强 for 循环
itar:可生成普通 for 循环
可生成集合 list 的 for 循环
List<String> list = new ArrayList<String>();
//输入: list.for 即可输出:
for(String s:list){
}
类似地:
ArrayList arrayList = new ArrayList();
//输入: list.fori 即可输出:
for (int i = 0; i < arrayList.size(); i++) {
}
ArrayList arrayList = new ArrayList();
//输入: list.forr 即可输出:
for (int i = arrayList.size() - 1; i >= 0; i--) {
}
可生成 if(xxx == null)
类似的:
inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null
可生成 private static final
类似的:
如果对于现有的模板,感觉不习惯、不适应的,可以修改。示例:
IDEA 提供了很多现成的 Templates 。但你也可以根据自己的需要创建新的Template。
先定义一个模板的组:
选中自定义的模板组,点击”+”来定义模板:
下图是我们进行的自定义模板:
Abbreviation
:模板的缩略名称Description
:模板的描述Template text
:模板的代码片段选择应用范围:点击 Define。
选择如下:
我们进行一个测试:
创建以后的工程结构如下:
打开 index.jsp,修改内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
主页
你好,我是狐狸半面添
🏠 Tomcat下载地址:https://tomcat.apache.org/download-80.cgi
下载完成解压缩会得到一个 apache-tomcat-8.5.83 文件夹,放到硬盘任意位置即可。
idea添加 tomcat 镜像:
然后运行该项目即可:
接着就会弹出浏览器访问界面,如果没有弹出,则可以访问:http://localhost:8080/javaweb01/
前提:保证你有数据库。
本机数据库下载与安装教程:MySQL下载与安装、mysql服务启动与停止、mysql使用cmd命令行登录、SQLyog下载与安装,sqlyog登录与操作mysql_是谢添啊的博客-CSDN博客
下面的下载驱动文件的速度可能会比较慢,因为是直接从国外的仓库下载驱动文件
再点击 OK
即可。
如果没有看到,则可以进行以下操作后再重试:
表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多, IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis 有很好的支持,比如配置好了 Database 之后,IntelliJ IDEA 会自动识别 domain 对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等。
这个是最重要的操作。配置好连接以后或通过其他工具操作数据库以后,需要及时同步。
如果想要撤销我们的上一次提交后的修改操作,则可以这样做:
不管是个人开发还是团队开发,版本控制都会被使用。而 IDEA 也很好的集成了版本控制的相关结构。
很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具,认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读,IntelliJ IDEA 是自带对这些版本控制工具的插件支持,但是该装什么版本控制客户端还是要照样装的。
IntelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件:CVS、Subversion(SVN)、Git、Mercurial、Perforce、TFS。又因为目前太多人使用 Github 进行协同或是项目版本管理, 所以 IntelliJ IDEA 同时自带了 Github 插件,方便 Checkout 和管理你的Github 项目。
在实际开发中,发现在 IDEA 中使用 SVN 的经历不算愉快,经常会遇到很多问题,比如紧急情况下 IDEA 无法更新、提交等。所以这里,谈下在 IDEA 中使用 Git。
🏠 Git下载与安装教程:git介绍,安装(手把手),命令与使用(包含IDEA操作,github,gitee的万字图文详述)_是谢添啊的博客-CSDN博客
进行登录:
配置信息:
全部勾选后,点击 Generate token
创建成功:
将上图复制得到的 url 粘贴至idea中:
成功拉取到本地:
此时会在 GitHub 上创建一个新的仓库,而非更新已经存在的仓库。
查看一下我们的Github仓库:
即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录。
设置 Debug 连接方式,默认是 Socket。Shared memory
是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,内存占用相对较少。
step over 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内
force step into 进入下一步,如果当前行断点是一个方法,则进入当前方法体内
step out 跳出
resume program 恢复程序运行,但如果该断点下面代码还有断点则停在下一个断点上
stop 停止
mute breakpoints 点中,使得所有的断点失效
view breakpoints 查看所有断点
Force Step Into 也是单步执行,他与Step Into 类似。 二者唯一的区别是: Step Into 不会进入到JDK实现的方法中,而Force Step Into 会进入到JDK实现的方法中。 Force Step Into 会进入到任何方法中单步执行!
调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦。
在断点处右击调出条件断点。可以在满足某个条件下,实施断点。
📝 示例:
/**
* @author 狐狸半面添
* @create 2022-11-16 22:21
*/
public class HelloWorld {
public static void main(String[] args) {
for (int i = 0;i<100;i++){
System.out.println("i");
}
}
}
选择行,查看值:
/**
* @author 狐狸半面添
* @create 2022-11-16 22:21
*/
public class HelloWorld {
public static void main(String[] args) {
HashMap<String,String> hashMap = new HashMap();
hashMap.put("name","狐狸半面添");
hashMap.put("sex","男");
hashMap.put("age","19");
}
}
还可以在查看框中输入编写代码时的其他方法:
/**
* @author 狐狸半面添
* @create 2022-11-16 22:21
*/
public class HelloWorld {
public static void main(String[] args) {
String name = "夜莺";
HashMap<String,String> hashMap = new HashMap();
hashMap.put("name","狐狸半面添");
hashMap.put("sex","男");
hashMap.put("age","19");
}
}
Make -> Ant -> Maven -> Gradle
Maven 是 Apache 提供的一款自动化构建工具,用于自动化构建和依赖管理。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为 Maven使用了一个标准的目录结构和一个默认的构建生命周期。在如下环节中,Maven 使得开发者工作变得更简单。
构建环节:
Import Maven projects automatically
:表示 IntelliJ IDEA 会实时监控项目的 pom.xml 文件, 进行项目变动设置。Automatically download
:在 Maven 导入依赖包的时候是否自动下载源码和文档。默认是没有勾选的,也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可。IntelliJ IDEA 支持直接从公网下载源码和文档的。VM options for importer
:可以设置导入的 VM 参数。一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数。Spring Initalizr 是 springboot 工程的模板
下面可以暂时先不选,后面开发需要了再进行设置,直接点击 create
即可。
如果如我的上图所示,pom.xml文件和java文件的图标都变成了橙色,只需要选中pom.xml文件,右键,点击最下面" add as maven project
"即可。
创建完成以后,可以在 IDEA 右边看到创建的 Module。如果没有,可以刷新一下。
目录下也会有对应的生命周期。其中常用的是:clean、compile、package、install。比如这里install,如果其他项目需要将这里的模块作为依赖使用,那就可以双击install
,安装到本地仓库的位置。
zh_CN
-encoding UTF-8 -charset UTF-8
IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比。在 IntelliJ IDEA 创建索引过程中即使你编辑了代码也是编译不了、运行不起来的,所以还是安安静静等 IntelliJ IDEA 创建索引完成。
IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度,所以 IntelliJ IDEA 的索引的重要性再强调一次也不为过。但是,IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的, 某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如:断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,很可能 IntelliJ IDEA 会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出现了问题,这种情况还不少。遇到此类问题也不用过多担心。我们可以清理缓存和索引。如下:
清除缓存、索引本质也就是去删除 C 盘下的 system 目录下的对应的文件而已,所以如果你不用上述方法也可以删除整个 system。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 system 目录以及对应项目缓存和索引。
取消勾选:即可取消更新
IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的。
🏠 官网插件库:https://plugins.jetbrains.com/
Gsonformat是一款Json转字符串
的插件。安装完以后会提示重启, 才可以使用插件。
需要特别注意的是:在国内的网络下,经常出现显示不了插件列表,或是显示了插件列表,无法下载完成安装。这时候请自行打开 VPN,一般都可以得到解决。
插件名称 | 插件介绍 |
---|---|
Key promoter | 快捷键提示 |
CamelCase | 驼峰式命名和下划线命名交替变化 |
CheckStyle-IDEA | 代码样式检查 |
FindBugs-IDEA | 代码 Bug 检查 |
Statistic | 代码统计 |
JRebel Plugin | 热部署 |
CodeGlance | 在编辑代码最右侧,显示一块代码小地图 |
Eclipse Code Formatter | 使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用。 |
GsonFormat | 把 JSON 字符串直接实例化成类 |
Alibaba Java Coding Guidelines | 阿里巴巴开发规范纠正 |
MyBatisX | xml与接口关联,可以快速开发、生成代码与进行跳转 |