IntelliJ IDEA使用总结

官方链接:

下载: https://www.jetbrains.com/idea/download/other.html

文档: 官方帮助文档

idea 没有工作空间的概念;eclipse 每新建一个工作空间,都需要对该工作空间下的工程重新设置。

settings.zip

配置备份: settings.zip

IDE高级配置

https://www.jetbrains.com/help/idea/tuning-the-ide.html

JVM选项

IDEA在Java虚拟机(JVM)上运行,它具有控制其性能的各种选项。用于运行IDEA的默认选项在IDE安装目录中指定 IDE_HOME/bin/idea64.exe.vmoptions

平台属性

C:\Users\Administrator\AppData\RoamingC:\Users\Administrator\AppData\Local 这两个目录在 Windows 操作系统中对于绝大多数遵循微软建议的应用程序而言,它们的作用和设计目的是相同的。

目录 设计目的(作用)
Roaming (漫游) 存储用户设置、配置、许可文件等关键且体积小的数据。设计用于在企业环境中,当用户在不同机器上登录时,这些设置能够通过网络被同步(漫游),保证用户体验的一致性。
Local (本地) 存储体积大、临时性、可重建的数据,如缓存、索引、临时文件、日志等。这些数据是特定于本地计算机的,不应进行网络同步,以节省带宽和时间。

配置文件:IDE_HOME/bin/idea.properties不支持反斜杠

注意:请勿修改默认文件中的平台属性,因为该文件在更新 IntelliJ IDEA 时会被覆盖。此外,在 macOS 系统中,编辑此文件将导致应用程序签名失效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE config folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
# 配置路径:存储 IDE 的核心用户配置和设置。这是你所有个人化偏好的所在地。
# 体积小,需要备份。
# 存储内容:代码风格、快捷键映射、UI 主题、已安装插件的设置、最近打开的项目列表等。
# Windows示例位置 C:\Users\Administrator\AppData\Roaming\JetBrains\IntelliJIdea2025.2
# Linux示例位置 /root/.config/JetBrains/IntelliJIdea2025.2
# idea.config.path=${user.home}/.IntelliJIdea/config

#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE system folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
# 系统路径:存储 IDE 运行时产生的缓存和临时系统文件,用于提升性能。这些文件可以被 IDE 重新生成。
# 体积大,可安全删除或清除。
# 存储内容:大量的 IDE 索引文件(用于快速搜索和导航)、本地历史记录(Local History)、系统缓存、日志文件等。
# Windows示例位置 C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2025.2
# Linux示例位置 /root/.cache/JetBrains/IntelliJIdea2025.2
# idea.system.path=${user.home}/.IntelliJIdea/system

#---------------------------------------------------------------------
# Uncomment this option if you want to customize a path to the user-installed plugins directory.
#---------------------------------------------------------------------
# idea.plugins.path=${idea.config.path}/plugins
idea.plugins.path=${idea.config.path}/plugins

#---------------------------------------------------------------------
# Uncomment this option if you want to customize a path to the logs directory.
#---------------------------------------------------------------------
# idea.log.path=${idea.system.path}/log
idea.log.path=${idea.system.path}/log

快捷键

File -> Settings… -> Keymap

为了不发生快捷键冲突,请在美式键盘下操作:

快捷键 功能
Alt+Enter 导包,自动补全代码
Ctrl+Space 代码提示
Ctrl+Shift+U 大小写转化

列选择模式(多行编辑)

1、按住 Alt

2、鼠标右键->Column Selection Mode 或 Alt+Shift+Insert

配置代理

官方HTTP代理: https://www.jetbrains.com/help/idea/settings-http-proxy.html

注意:只会代理 IDEA 上的工具,Java 项目中的 DB、MQ 等连接的代理需要配置 JVM 参数(详见 v2ray 章节)

手动代理配置

不使用代理的域名列表示例

1
2
3
4
5
6
7
8
9
*.jetbrains.com
*.github.com
*.google.com
*.googleapis.com
*.org
192.168.*
127.0.0.1
::1
localhost

自动检测代理设置

————–没测成功————–

将代理工具的 系统代理模式 改为 PAC 模式

Windows设置 —> 网络和 Internet —> 代理,脚本地址示例:http://127.0.0.1:1080/pac?auth=6pGf8fJsS-ZO4o3hrfK7&t=202004132149393874

取消启动时打开上一个项目

image-20251205151457483

Editor

General

鼠标滑轮修改字体大小

image-20251205164442814

自动导包+导包优化

image-20251205160908182

显示方法的参数名称

当你使用代码补全(Code Completion)来选择一个函数或方法时,它会立即在参数值旁边显示参数的名称。

这大大提高了代码的可读性和编写速度,因为你不必跳转到函数定义去查看每个参数的含义。

image-20251205161238740

代码提示和补充功能

不区分大小写:

image-20251205161409344

Tab选项卡数量

100个够了

image-20251205161532920

重新格式化

取消连续格式化两次,导致自定义换行符失效

image-20251205161619588

Font

固定字体大小

Code Style

设置换行符。

设置代码最大行宽(规范120)。勾选 wrap on typing,编码时若超出最大行宽会自动换行。

image-20251205162120936

Code Style (Java)

JavaDoc

image-20251205162358708

Wrapping and Braces

格式化时,确保右边距不被超出,单行注释和代码对齐

image-20251205162718104

单行注释

单行注释跟代码对齐并添加空格:

image-20251205163310130

禁止import *

image-20251205163445553

import顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
import java.*
<blank line>
import javax.*
<blank line>
import org.*
<blank line>
import com.*
<blank line>
import com.zhaolq.*
<blank line>
import all other imports
<blank line>
import static all other imports

image-20210822145019776

Code Style (SQL)

禁止格式化SQL

image-20251205164212324

Code Style (XML)

Mybatis中xml文件粘贴SQL导致左对齐

image-20251205164057017

File Encodings

Settings For New Projects

image-20251205152839076

File Types

隐藏 *.iml、.idea 等文件。在 ignore files and folders 输入框添加内容:

1
.idea;*.iml;.gitignore;

image-20251205164649463

版权设置

Settings For New Projects

Settings -> Editor -> Copyright -> Copyright Profiles,点击 + 号新增,起个名字例如 Zhaolq,Copyright text 内容如下:

1
Copyright (c) Zhaolq Technologies Co., Ltd. 大约40亿年前-${today.year}. All rights reserved.

回到上级菜单选择 Default project copyright : Zhaolq 即可。

使用方式:
1、新建文件回自动添加。
2、在文件中使用快捷键 Alt + Insert ,选择 Copyright

Build, Execution, Deployment

Build Tools (Maven)

Settings For New Projects

image-20251205151756578

Compiler

Settings For New Projects

自动编译

image-20251205164756614

软分行

image-20201009153141967

显示内存使用情况

双击shift,搜索show memory indicator并开启,点击还可以进行部分内存的回收。

image-20201009143544890

.editorconfig代码风格统一

https://intellijidea.com.cn/help/idea/editorconfig.html

注释模板

类、接口、枚举注释模板

该模板会在新建类型文件时自动添加。

image-20250219112012993

image-20250219111839756

1
2
3
4
5
6
/**
* ${TODO}
*
* @author ${USER}
* @since 1.0.0 -- 起始。描述此功能首次存在的时间或版本。
*/

类型文件注释模板(自定义)

Live Templates (实时模板) 可以帮助我们更加高效的写一些固定模式的代码,以提高编码效率。同时也可以自定义代码模板。

1、File -> Settings -> Editor -> Live Templates

2、新建组:命名为 user

3、新建模板:起个名,比如 cc (类注释 Class Comment),mc (方法注释 Method Comment)

image-20250219114050940

image-20250219114531407

模板内容:

1
2
3
4
5
6
**
* $description$
*
* @author $user$
* @since 1.0.0 -- 起始。描述此功能首次存在的时间或版本。
*/

使用:

1
在类型文件头部:/cc+Enter

方法注释模板(自定义)

步骤同上…

模板一

模板内容:

1
2
3
4
5
6
7
8
**
* $description$
*
* @param $param$
* @return $return$
* @throws $throws$
* @since 1.0.0
*/

设置模板变量表达式:

image-20200706181518617

使用:

1
在方法头部:/mc+Enter

结果:

image-20200706181319085

模板二(推荐)

修改模板一内容如下:

1
2
3
4
5
6
7
8
**
* $description$
*
$param$
* @return {@link $return$}
* @throws $throws$
* @since 1.0.0
*/

修改 param 变量的表达式为自定义 groovyScript 脚本:

1
groovyScript("def result='';def flag=false;def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if (!params[i].equals('')) {flag=true;result+='* @param ' + params[i] + ' ' + params[i] + ((i < params.size() - 1) ? '\\n\\t ':'')} else {result+=' *'}}; return flag ? ' *\\n\t ' + result : result", methodParameters())

结果:

image-20210822140710496