PyCharm 2026.3 新特性

PyCharm 2026.3 新特性

💡 原文英文,约1200词,阅读约需5分钟。
📝

内容提要

PyCharm 2026.3 的核心是 JetBrains Air,可在 IDE 内运行、跟踪和验证多智能体工作流,支持 Claude、Codex、Gemini 等代理及现有订阅,并提供免费的 Junie Lite。新增工作区支持,各子项目拥有独立终端和 Python 控制台;同时支持 Python 3.15 惰性导入、FastAPI 依赖图、Pydantic 深度检查及新版解释器组件。

🔎

延伸解读

多智能体工作流进入 IDE:Air 的定位与边界

JetBrains Air 把多智能体工作流直接放进 PyCharm,让代理在代码智能辅助下运行,并支持在差异中逐行标注反馈。它兼容 Claude Agent、Codex、Gemini 等代理,沿用现有订阅和 API Key,无需 JetBrains AI 订阅。但文章也说明,从 AI Assistant 迁移时聊天模式历史不会迁移,且 Air 会隐藏 AI Assistant,用户需自行决定是否切换。

工作区支持:子项目环境隔离的实际影响

新工作区让每个子项目拥有独立的 Python 控制台和终端,并在各自环境中运行,避免依赖串用。在 uv 工作区中,控制台使用工作区环境并把子项目根目录加入 sys.path。用户可从项目工具窗口右键创建或转换子项目,初始化工具支持 uv、Hatch 和 Poetry,uv 工作区还会自动把子项目加入根 pyproject.toml。

Python 3.15 惰性导入与解释器组件的变化

PyCharm 2026.3 开始支持 Python 3.15 的惰性导入语法,能像普通导入一样解析和解析名称,因此采用该语法不会丢失代码洞察。惰性导入把模块加载推迟到首次使用,文章称这能明显缩短重依赖应用的启动时间。状态栏的解释器组件也重新设计,围绕 uv、Poetry、Hatch、conda 等环境管理工具展示其管理的环境,并支持重建环境。

FastAPI 与 Pydantic 支持:从依赖链到字段约束

FastAPI 支持(Pro)可把端点背后的 Depends() 和 Security() 调用链画成图,标记每个依赖是 yield 还是 return,并在编辑器中提示会在启动时引发 RuntimeError 的循环依赖;反向也能查看依赖被哪些端点使用。Pydantic 方面,编辑器会读取字段约束、验证器和配置,对违反 Field() 约束的传值给出警告,并支持跳转到 @field_validator 中引用的字段定义。

❓

Q&A

PyCharm 2026.3 中 JetBrains Air 的主要功能是什么?

JetBrains Air 是一个新的智能体开发层,允许你在 IDE 内运行、跟踪和验证多智能体工作流。它利用代码智能帮助智能体减少错误,并提供完整的审查工具,让你在发布前审查每个更改。

使用 JetBrains Air 需要额外的 JetBrains AI 订阅吗?

不需要。Air 支持你现有的提供商订阅、API 密钥和自定义基础 URL,无需 JetBrains AI 订阅。此外,Air 包含免费的 Junie Lite 配置,只需一个 JetBrains 账户即可使用智能体。

PyCharm 2026.3 的工作区支持如何为子项目提供独立环境?

每个子项目拥有自己的 Python 控制台和终端,并在各自的环境中运行,因此你可以针对子项目实际使用的依赖运行代码。在 uv 工作区中,控制台使用工作区环境并将子项目根目录添加到 sys.path。

PyCharm 2026.3 对 Python 3.15 的惰性导入提供了什么支持?

PyCharm 现在支持 Python 3.15 引入的惰性导入语法。惰性导入将模块的加载推迟到首次使用时,可以显著减少具有大量依赖的应用程序和脚本的启动时间。PyCharm 像解析常规导入一样解析和解析惰性导入,因此你可以采用该语法而不失去对导入名称的代码洞察。

PyCharm 2026.3 如何帮助分析 FastAPI 的依赖关系?

PyCharm 可以将端点的依赖链(包括 Depends() 和 Security() 调用)绘制成图表。每个依赖项标记为 yield 或 return,循环依赖(启动时引发 RuntimeError)会在编辑器中标记。此外,依赖项会显示哪些端点直接或间接依赖它。

PyCharm 2026.3 对 Pydantic 模型提供了哪些增强支持?

PyCharm 现在为 Pydantic 模型提供更深入的编辑器支持:根据模型声明读取字段约束、验证器和配置,并在编辑器中应用;检查传递给模型的值是否符合 Field() 约束(如 min_length、max_length、gt、lt),违反时显示警告;@field_validator('price') 中的字段名现在可以解析到字段定义,方便跳转;代码补全还会建议模型类参数中的配置选项,如 validate_by_name 和 validate_by_alias。

🏷️

标签

➡️

继续阅读