Featured image of post IntelliJ IDEA 全攻略:Java 主流 IDE 实战与插件生态

IntelliJ IDEA 全攻略:Java 主流 IDE 实战与插件生态

IntelliJ IDEA 2013 时代从安装到精通:核心快捷键、Live Templates、代码生成、必备插件(Alibaba / Lombok / MyBatis / Vim)、EasyCode 与 mybatis-maven 自动生成、性能调优与排错

一、IntelliJ IDEA 在 2013-2014 的地位

2013 年 12 月,JetBrains 发布 IntelliJ IDEA 13——这是 Java IDE 史上第一个默认 UI 走 Darcula 暗色主题的版本,也是 Maven/Gradle 项目支持大幅强化的一年。2014 年 IDEA 14 推出 Spring 4 完整支持、Java 8 lambda 调试。从此 IDEA 与 Eclipse 的战争就基本结束——本文整理 IDEA 在这两年沉淀下来的核心用法。

阅读建议:本文面向从 Eclipse 切换到 IDEA 的 Java 开发者,重点在快捷键迁移 + 必备插件

二、安装与初始配置

2.1 下载

官方 https://www.jetbrains.com/idea/download/#section=windows

版本适合
Community自由开源(JDK 11 后部分功能受限)
Ultimate商业(Spring/Hibernate/JS 等框架)
Edu学生教学(免费 Ultimate)

2.2 第一次启动要做的事

  1. Configure → Settings → Appearance → ThemeDarcula(护眼)
  2. Editor → FontJetBrains Mono(旧版用 Consolas)
  3. Editor → General → Code Completion → 取消 Match case大小写不敏感
  4. Build, Execution, Deployment → Compiler → 勾选 Build project automatically
  5. Version Control → Git → 选 git.exe 路径

2.3 内存调优

Help → Change Memory Settings(2020+)或编辑 idea64.exe.vmoptions

1
2
3
4
-Xms2048m
-Xmx4096m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC

2025 时代:IDEA 2024+ 已经自适应内存,初学者不要瞎调Ctrl+Shift+A 搜 “Diagnostic Tools” 看内存使用。

三、核心快捷键

3.1 必学 10 个

快捷键作用
Double Shift查找所有(类/文件/符号/动作)
Ctrl + N查找类
Ctrl + Shift + N查找文件
Ctrl + Alt + L格式化代码
Alt + Enter显示意图操作(万能修复)
Ctrl + B / Ctrl + Click跳转到声明
Ctrl + F12当前文件结构
Ctrl + E最近文件
Alt + Insert生成代码(getter/setter/构造/重写)
Ctrl + Shift + F10运行当前上下文

3.2 进阶快捷键

快捷键作用
Ctrl + Shift + F全项目查找字符串
Ctrl + Shift + R全项目替换
Alt + F7查找用法
Ctrl + Alt + H方法调用层次
Ctrl + Shift + T创建单元测试
Ctrl + H类继承层次
Shift + F6重命名(项目级联动)
Ctrl + Alt + V引入变量
Ctrl + Alt + M提取方法
Ctrl + Alt + TSurround with(if/try/for 包裹)

3.3 从 Eclipse 迁移

Settings → Keymap → Eclipse 可一键切换。但更推荐保留 IDEA 风格——IntelliJ IDEA Keybindings 扩展 VSCode,风格统一

四、代码生成

4.1 Live Templates(实时代码模板)

Settings → Editor → Live Templates,IDEA 内置几十个模板:

模板展开用途
psvmpublic static void main(String[] args) {}main 方法
soutSystem.out.println()打印
forifor (int i = 0; i < ; i++)for 循环
iterfor (T t : list)增强 for
ifnif (var == null)null 判断
innif (var != null)非 null 判断
prsfprivate static final静态常量
psfipublic static final int公共常量
thrthrow new异常
retreturn返回

4.2 自定义 Live Template

例:自定义 soutm 打印方法名:

1
2
3
// 模板
System.out.println("$CLASS_NAME$.$METHOD_NAME$()");
// 适用 Java

$VAR$ 语法是占位符,$END$ 是光标最终位置。

4.3 Postfix Completion

输入表达式后加 . 自动展开:

输入展开
list.forfor (T t : list) {}
list.forifor (int i = 0; i < list.size(); i++) {}
str.soutSystem.out.println(str);
obj.nnif (obj != null) { }
obj.nullif (obj == null) { }
num.varint var = num;

效率倍增器——前期多记。

五、必备插件(2013-2014 时代)

5.1 工具类

插件用途
.env files support.env 文件语法高亮
.ignore.gitignore 模板
Alibaba Cloud Toolkit阿里云 ECS / 部署
Alibaba Java Coding Guidelines阿里代码规范检查(p3c 规则)
Lombok@Data @Slf4j 注解支持
Free Mybatis pluginMapper/Service 跳转
Mybatis Log Plugin把 MyBatis 预编译 SQL 还原成可执行 SQL
Translation划词翻译(Translation 引擎选 Google/DeepL
Key Promoter X鼠标操作时提示快捷键(学习神器)

5.2 代码生成

插件用途
EasyCode选表 → 一键生成 Entity/Mapper/Service/Controller
mybatis-maven-pluginMaven 插件方式生成 MyBatis 代码
Git Commit Template规范化 commit message
GitToolBox行内 blame、内联分支信息
EnvFile多环境 .env 切换
HOCONPlay Framework 配置格式

5.3 主题 / 个性

插件用途
Material Theme UIGoogle Material 风格
One Dark themeVSCode 经典暗色
Atom One Dark ThemeAtom 风格
IdeaVimVim 模式(Vim 党救命)
Background Image Plus编辑器背景图(小心被扣工资)

5.4 IdeaVim 配置

Vim 党必装。~/.ideavimrc

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
" 关闭搜索高亮
nmap <silent> <Esc> :nohlsearch<CR>

" Tab 切换窗口
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k

" 搜索时高亮当前词
set hlsearch
set incsearch

: 命令也能用 :w :q :e 等等。

5.5 MyBatis 代码生成(EasyCode)

EasyCode + Database 插件:

  1. 右侧 Database 标签 → 加 MySQL 数据源
  2. 右键表 → EasyCode → Generate Code
  3. 选择生成模板(默认 MyBatis-PlusMyBatis 等)
  4. 一键生成 EntityMapperServiceControllerServiceImplMapper.xml

生成的代码默认 Spring Boot 风格,直接拿到项目用。

六、Spring Boot 项目结构

6.1 推荐的目录结构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
src/main/java/
└── com.example.demo/
    ├── DemoApplication.java           # @SpringBootApplication
    ├── config/                        # @Configuration
    ├── controller/                    # @RestController
    ├── service/
       └── impl/                      # @Service
    ├── mapper/                        # @Mapper
    ├── entity/                        # @Data @TableName
    ├── dto/                           # 数据传输对象
    ├── vo/                            # 视图对象
    ├── enums/                         # 枚举
    └── common/                        # 工具类
        ├── result/                    # 统一返回 R<T>
        ├── exception/                 # 全局异常
        └── constant/                  # 常量

6.2 application.yml 分环境

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
spring:
  profiles:
    active: dev

---
spring:
  profiles: dev
  datasource:
    url: jdbc:mysql://localhost:3306/dev
    username: root
    password: <PASSWORD>

---
spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://prod-host:3306/prod
    username: <USER>
    password: <PASSWORD>

切换:右上角 Edit Configurations → Active Profiles

七、性能调优与排错

7.1 启动慢

  • 关闭非必要插件:Settings → Plugins 取消勾选
  • Help → Diagnostic Tools → Activity Monitor 看占用
  • 升级 SSD(最有效

7.2 “cannot connect to already running ide instance”

C:\Users\<USER>\AppData\Roaming\JetBrains\IntelliJIdea2023.2\.lock 文件存在,说明有实例在跑。直接删除 .lock 文件即可。

7.3 Lombok 不生效

  1. Lombok 插件
  2. Settings → Build → Compiler → Annotation Processors → 勾选 Enable annotation processing
  3. 重启 IDEA

7.4 Debug 时看不到变量值

Settings → Build → Compiler → Debugger → HotSwap → 启用(部分功能 Ultimate 才有)

7.5 Maven 依赖下载慢

Settings → Build → Maven → 改 User settings file 为阿里云镜像:

1
2
3
4
5
6
7
8
<mirrors>
  <mirror>
    <id>aliyun</id>
    <name>Aliyun Maven</name>
    <url>https://maven.aliyun.com/repository/public</url>
    <mirrorOf>central</mirrorOf>
  </mirror>
</mirrors>

八、必备快捷键速查

类别快捷键
导航Ctrl+N 类 / Ctrl+Shift+N 文件 / Ctrl+Alt+Shift+N 符号
编辑Ctrl+D 复制行 / Ctrl+Y 删除行 / Ctrl+/ 注释
重构Shift+F6 重命名 / Ctrl+Alt+M 提取方法
运行Shift+F10 运行 / Shift+F9 调试
窗口Alt+1 项目 / Alt+4 运行 / Alt+5 调试 / Alt+9 Git
VCSCtrl+K 提交 / Ctrl+T 更新 / Alt+9 日志

九、IDEA vs Eclipse vs VSCode

维度IDEA UltimateEclipseVSCode
Java 体验★★★★★★★★★★★★(要装 Extension Pack)
启动速度★★★(最慢)★★★★★★★★★
内存占用★★(最重)★★★★★★★
前端★★★★★★★★★★★
调试★★★★★★★★★★★★
智能提示★★★★★★★★★★★★★
价格商业免费免费

经验法则

  • Java 后端为主 → IDEA
  • 多语言混合 + 前端 → VSCode
  • 老项目 + 嵌入式 → Eclipse

十、常见问题

10.1 中文乱码

Settings → Editor → File Encodings

  • Global Encoding: UTF-8
  • Project Encoding: UTF-8
  • Default encoding for properties files: UTF-8

10.2 Maven 报错 “Cannot resolve symbol”

File → Invalidate Caches → 勾选所有 → Invalidate and Restart

10.3 Tomcat 控制台中文乱码

Help → Edit Custom VM Options

1
2
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8

10.4 Spring Boot 项目启动报错 “Web server failed to start”

  • 检查 application.yml 端口是否被占用:netstat -ano | findstr 8080
  • 检查 pom.xmlspring-boot-starter-web 依赖
  • 启动类是否在 com.example 父包下

十一、下一步

  • 想看设计建模:[2014-10-15 设计建模工具:Axure / PowerDesigner / VSCode]
  • 想看版本控制:[2014-11-15 Git 与版本控制]
  • 想看 Spring Boot 微服务:项目全流程 章节

本文写于 2014 年,回看当时:IDEA 2014 还是付费 Ultimate 的天下(Community 版功能弱),2024 年 Community 已经免费支持 Spring Boot 全功能——这是 JetBrains 2024 年最大的开源让步。Alibaba 规范插件 2017 年才正式上线(p3c 2017 开源),p3c 已成为国内 Java 代码规范的事实标准

使用 Hugo 构建
主题 StackJimmy 设计