IntelliJ IDEA 2026.1 EAP 2 发布,Claude Code 体验优化!人麻了。
是 JetBrains 的早期访问计划,提供免费的全功能预览版本。你可以将其视为“官方公测版”——功能完整但处于打磨期,适合想提前尝鲜或免费使用正版 IDE 的开发者。为什么要关注 EAP?完全免费:EAP 版本在有效期内没有任何功能限制。提前体验新特性:比正式版早几个月用上生产力工具。影响产品方向:你的反馈可以直接提交给开发者,甚至影响最终版本的走向。注意:由于是不稳定版本,生产环境建议使用正式
大家好,我是 Guide。IntelliJ IDEA 2026.1 EAP 2 来了!这次更新变化不小——Gradle Tooling API 升级到 9.3.0、Java 调试器新增异步堆栈跟踪开销检测、Claude Code 支持 Shift+Enter 换行、JUnit 6 的 CancellationToken 支持、DevContainers 容器化开发增强。
和大家一样,现有 Cursor、Claude Code、 Codex 等 AI 编程 IDE 之后,我打开 IDEA 的频率真的少多了。不过,我还是会在电脑装上,平时 CR 或者调试等场景还是更熟悉一些。
当下去下结论,说这款陪伴了绝大部分 Java 开发者这么多年的 IDE 会走向灭亡,真还不太好说,这个时代一切发展都快了!说不定 IDEA 后面在 AI 方向取得了进步呢?
开始介绍本次带来的主要更新之前,先简单介绍一下 EAP。
什么是 EAP?
EAP(Early Access Program) 是 JetBrains 的早期访问计划,提供免费的全功能预览版本。你可以将其视为“官方公测版”——功能完整但处于打磨期,适合想提前尝鲜或免费使用正版 IDE 的开发者。

为什么要关注 EAP?
- 完全免费:EAP 版本在有效期内没有任何功能限制。
- 提前体验新特性:比正式版早几个月用上生产力工具。
- 影响产品方向:你的反馈可以直接提交给开发者,甚至影响最终版本的走向。
注意:由于是不稳定版本,生产环境建议使用正式版;个人项目或技术研究建议尝试 EAP。
下面带大家详细看看这次更新。
Java 调试器优化
写异步代码最头疼的是什么?调试。
当你用 CompletableFuture、Reactor、RxJava 这些库写异步逻辑时,堆栈跟踪会变成一串 lambda$xxx$xxx,看不出业务逻辑在哪。
什么是异步堆栈跟踪?
传统堆栈是“物理”的,记录的是当前线程的调用。而异步代码中,任务会在不同线程间传递,导致调用链断裂。异步堆栈跟踪尝试还原“逻辑调用链”,让你看到任务是从哪里被创建和触发的。
// 传统代码的堆栈
Thread.run()
└─ service.process()
└─ repository.save()
// 异步代码的堆栈(传统方式)
ForkJoinPool.run()
└─ lambda$asyncProcess$abc123
└─ CompletableFuture.apply()
└─ ?? 业务逻辑在哪?
异步堆栈跟踪尝试还原"逻辑调用链",而不是"物理线程栈",让开发者能看到业务代码的执行路径。


EAP 2 引入了异步堆栈跟踪开销检测。
为什么要检测开销?
维护逻辑调用关系需要额外的内存和 CPU 资源。在某些极端场景下,这种监控本身可能成为性能瓶颈。新特性会主动监测调试器的运行开销,当发现其消耗资源过多时会及时提示。这能有效防止开发者因为“调试工具太重”而对应用本身的性能产生误判。
适配 JUnit 6 新特性
JUnit 6.0.0 已经发布,IDEA 2026.1 EAP 2 对其支持进行了优化。
CancellationToken 支持(新特性)
IDEA-382199:JUnit 6 支持 CancellationToken。
JUnit 6 有哪些新特性?
JUnit 6 是一次重大升级,其核心变化包括:
- 版本号统一:JUnit Platform、Jupiter 和 Vintage 现在统一使用 6.0.0 版本号。
- 基线提升:要求 Java 17+ 和 Kotlin 2.2+。
- 原生支持 Kotlin 挂起函数:可以直接测试
suspend方法。 - 协作式取消:引入 CancellationToken API。

CancellationToken 是什么?
它让测试可以被"主动取消"。
// 你启动了 1000 个测试
// 跑到第 10 个发现关键 bug,想立即停止
// 以前只能手动 kill 进程
// 现在可以用 CancellationToken 取消剩余测试
对 CI/CD 场景尤其有用——快速反馈、节省资源。

@FieldSource 静态分析修复
修复了 JUnit 6 @FieldSource 的静态分析误报。
@FieldSource("testData.txt")
static Stream<String> testData;
// 以前:IDE 报错 "Field source type must be convertible to a Stream"
// 现在:正确识别类型,不再误报
DevContainers 增强
如果你在用 DevContainers(容器化开发环境),这次更新有几个重要改进。
什么是 DevContainers?
DevContainers(开发容器) 是用容器封装完整开发环境的技术。你把项目需要的所有工具、依赖、配置都打包进 Docker 容器,团队成员用同一个镜像开发——"在我机器上能跑"的问题直接消失。
核心好处:
- 环境一致性:所有人用同一个容器,本地、测试、生产环境对齐
- 快速上手:新成员
docker-compose up就能干活 - 隔离性:项目依赖不污染本地机器
- 可移植:云开发环境(GitHub Codespaces、Gitpod)无缝切换
新增 DevContainers 配置选项
为了更好地兼容 Dev Container Specification,EAP 2 新增了三个关键配置项:
| 选项 | 作用 |
|---|---|
remoteUser |
指定容器内运行命令的用户(如避免使用 root 带来的权限问题) |
remoteEnv |
灵活设置容器内的环境变量 |
userEnvProbe |
优化探测用户环境配置(如 .zshrc)的方式 |
这些改进让 IDEA 在处理复杂的容器权限和环境差异时更加游刃有余。
Docker 连接修复
修复了 macOS 上 Docker 插件连接失败的问题。该问题由 Docker Desktop for macOS 更改默认 Socket 路径引起,新版本已完成路径自动适配。
Gradle 生态升级
这次 EAP 2 在 Gradle 集成上下了大功夫,核心是Gradle Tooling API 升级到 9.3.0。
Gradle Tooling API 9.3.0
什么是 Gradle Tooling API?
它是 Gradle 提供的编程接口,让 IDE 可以"深入"构建过程——不是简单调用命令行,而是直接查询项目结构、依赖关系、任务信息,并用类型安全的方式返回结果。
简单对比:
- 命令行方式:IDE 调用
gradle tasks,然后解析文本输出 - Tooling API:IDE 调用
getTasks(),直接拿到任务对象列表
Tooling API 的优势:
- 版本独立:同一 API 版本可以兼容不同 Gradle 版本
- 结构化数据:不需要解析文本,直接获取模型对象
- 深度集成:可以实时监听构建进度、模型变化
升级到 9.3.0 带来的好处:
- 更好的 WSL/Docker 环境支持
- 本地依赖补全体验提升
- 版本目录(Version Catalog)相关逻辑修复
Gradle Best Practices 检测
新增最佳实践检测功能。Gradle 官方有一套构建最佳实践(比如避免使用过时语法、合理配置依赖等),IDEA 现在会主动检测你的 build.gradle/build.gradle.kts 是否符合这些实践。
// 不推荐
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web:3.2.0'
}
// 推荐:使用版本目录
dependencies {
implementation libs.spring.boot.starter.web
}
本地依赖补全
EAP 2 修复了本地依赖补全的问题。以前在 dependencies {} 块里补全本地项目依赖时,遇到横杠(-)符号会失效,现在已经修复。
另外,TOML 元素的 Find Usages 窗口标题也改了(IDEA-382192),更清晰。
开发者体验优化
HTTP Client 新增 wait-for 函数
HTTP Client 支持 wait-for(x) 函数(休眠/等待)。
## 测试接口延迟
GET https://api.example.com/ping
## 等待 3 秒后再次请求
wait-for(3)
GET https://api.example.com/ping
这对测试"延迟触发"、"重试逻辑"等场景有用。
Terminal 中 Claude Code 支持优化
Terminal 中 Claude Code 支持 Shift+Enter 换行。
以前在 Terminal 里进入 Claude Code 模式后,按 Enter 是发送消息,无法换行。现在 Shift+Enter 可以插入新行。

《SpringAI 智能面试平台+RAG 知识库》配套实战项目教程正在更新,涉及到 Prompt Engineering、大模型集成、RAG(检索增强生成)、高性能对象存储与向量数据库。后续的话,还会同步上Agent 项目。
内容非常全面,非常适合想要实战 AI 项目或者准备 AI 大模型应用开发岗位面试的朋友,来一张刚写完的3.4w 字+35 道题目的 RAG 面试题总结,大家感受一下(点此链接了解: 星球):

语言级别智能匹配
语言级别自动匹配最高支持的 JDK。
以前手动设置语言级别很烦——项目用 JDK 21,但语言级别还是 Java 17,新语法报错。现在 IDEA 会自动识别项目 JDK,把语言级别设到最高支持版本。
高 CPU 占用优化
修复了打开带通配符泛型的 Java 类导致 CPU 飙升的问题。
// 这种代码以前一打开 IDEA 就开始狂吃 CPU
List<? extends Map<String, ? extends Collection<?>>> wildcardHell;
K2 编译器持续进化
智能补全改进
改进的命名参数补全排序。
// 以前:命名参数补全顺序混乱
fun processUser(id: Long, name: String, age: Int, email: String)
processUser(id = 1, ??? 提示顺序很乱)
// 现在:按使用频率、上下文相关性排序
processUser(id = 1, name = "张三", age = 25, email = "...")
枚举值软弃用提示
软弃用 kotlin.enumValues 函数。
// 以前
val values = enumValues<Color>()
// 现在 IDE 建议用更现代的方式
val values = Color.entries
enumValues 是 Kotlin 1.9 之前的遗留 API,新代码应该用 entries 属性。
Bug 修复大盘点
EAP 2 修复了大量 Bug,以下是按模块分类的主要修复:
| 模块 | 主要修复 |
|---|---|
| Gradle | 本地依赖补全横杠失效、版本目录重命名、WSL 磁盘扫描 |
| Java | 通配泛型 CPU 飙升、包注解 PSI 丢失、optimize imports 忽略注释 |
| 调试器 | Split Debugger 值更新问题、异步堆栈跟踪开销检测 |
| 测试 | JUnit 参数未使用误报、Cucumber 斜杠转义 |
| Kotlin | K2 移除未用变量、智能补全排序、枚举值软弃用 |
| DevContainers | WSL/Docker 路径问题、远程用户/环境变量支持 |
| UI | 菜单闪烁、Islands 主题渐变不流畅、字体样式重置 |
| Version Control | Git 高亮残留、Worktree 打开失败 |
总结
IntelliJ IDEA 2026.1 EAP 2 的关键升级:
- Gradle Tooling API 9.3.0:底层通信升级,本地依赖补全修复
- Java 调试器增强:异步堆栈跟踪开销检测
- JUnit 6 支持:
CancellationToken、@FieldSource修复 - DevContainers 增强:r
emoteUser/remoteEnv/userEnvProbe选项 - HTTP Client:新增
wait-for函数 - Claude Code:Claude Code 支持 Shift+Enter 换行
- Kotlin K2:智能补全改进、枚举值软弃用
- 性能优化:修复通配泛型 CPU 飙升等问题
建议:
- 如果你在用 Gradle 9.x、JUnit 6、或者搞容器化开发,这次 EAP 值得一试
- EAP 版本完全免费,但可能不稳定,生产环境谨慎使用
- 可以在虚拟机或测试项目里先试试,反馈给 JetBrains 帮助改进最终版本
⭐️推荐:
更多推荐



所有评论(0)