news 2026/5/2 0:39:50

IntelliJ IDEA 2026.1 EAP 2 发布,Claude Code 体验优化!人麻了。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IntelliJ IDEA 2026.1 EAP 2 发布,Claude Code 体验优化!人麻了。

什么是 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 面试题总结,大家感受一下:

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 的关键升级:

  1. Gradle Tooling API 9.3.0:底层通信升级,本地依赖补全修复

  2. Java 调试器增强:异步堆栈跟踪开销检测

  3. JUnit 6 支持CancellationToken@FieldSource修复

  4. DevContainers 增强:remoteUser/remoteEnv/userEnvProbe选项

  5. HTTP Client:新增wait-for函数

  6. Claude Code:Claude Code 支持 Shift+Enter 换行

  7. Kotlin K2:智能补全改进、枚举值软弃用

  8. 性能优化:修复通配泛型 CPU 飙升等问题

建议:

  • 如果你在用 Gradle 9.x、JUnit 6、或者搞容器化开发,这次 EAP 值得一试

  • EAP 版本完全免费,但可能不稳定,生产环境谨慎使用

  • 可以在虚拟机或测试项目里先试试,反馈给 JetBrains 帮助改进最终版本

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:08:36

mbedTLS

在医疗设备&#xff0c;尤其是与生命体征监测、影像传输或远程诊断相关的设备中&#xff0c;数据的安全可靠传输与存储是核心要求之一。这就需要在资源受限的嵌入式系统&#xff08;下位机&#xff09;上实现有效的加密与安全通信。以下从五个方面来讲解 mbedTLS 在这一领域的应…

作者头像 李华
网站建设 2026/4/30 9:10:27

Linux程序接收到sigpipe信号崩溃处理

针对 SIGPIPE 导致 server 进程崩溃的问题:原因分析&#xff1a; 在 Linux 网络编程中&#xff0c;当向一个已关闭的 socket 发送数据时&#xff0c;内核会向进程发送 SIGPIPE 信号。该信号的默认行为是终止进程。当您刷新 Web 界面时&#xff0c;旧的 WebSocket 连接可能被意外…

作者头像 李华
网站建设 2026/4/17 14:31:36

多媒体教室智能窗帘控制系统的的设计与实现

多媒体教室智能窗帘控制系统的设计与实现 第一章 绪论 传统多媒体教室窗帘多采用手动拉拽或单一电动控制模式&#xff0c;存在操作繁琐、无法根据环境光线自动调节、与教学设备联动性差等问题&#xff0c;易因光线过强导致投影画面模糊&#xff0c;或光线过暗影响学生看板书&…

作者头像 李华
网站建设 2026/5/1 8:24:59

开篇语:从「数字账房」到「决策军师」,你需要一个导航增长的罗盘

各位并肩前行的技术人、创业者与管理者&#xff1a; 过去三季专栏&#xff0c;我们共同完成了三次关键的认知升级&#xff1a; 解构了技术人的商业语法拨开了财务报表的迷雾构筑了创业者的生存账本 感谢你们用实践与反馈&#xff0c;让这条路径越发清晰。但我知道——真正的…

作者头像 李华
网站建设 2026/4/18 5:10:17

用yolov12的框架训练过yolov5的预训练权重之后,再用yolov12的预训练权重训练出现了训练不了的情况,如何解决??

&#x1f3c6;本文收录于 《全栈 Bug 调优&#xff08;实战版&#xff09;》 专栏。专栏聚焦真实项目中的各类疑难 Bug&#xff0c;从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解&#xff0c;形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者&…

作者头像 李华