内容提要
PyCharm 2026.3 发布,包含 303 项修复与改进。类型推断更准确,支持 functools.partial、泛型与集合推断,减少误报,并新增 # pycharm: ignore 警告抑制。测试工具增强:pytest-mock 补全、支持 Mock(spec=)、集成 Zuban 类型检查器,Ruff 可优化导入并批量修复。改进 Django、FastAPI、SQLAlchemy 支持。conda 环境变量与 uv 工作区更可靠,脚本启动更快。debugpy 支持 Set Value 与 Jump to Cursor。Jupyter 支持搜索输出与批量移动单元格。
延伸解读
类型推断改进的实际影响
本次更新对 functools.partial、泛型、集合推断等场景的改进,直接减少了日常开发中的误报和补全缺失。例如,partial 对象现在能正确推断剩余参数并检查类型,泛型方法调用不再回退到 Any。这些变化意味着开发者能更少地手动添加类型忽略注释,代码检查结果更可信。新增的 # pycharm: ignore 注释和 Suppress with ‘type: ignore’ 操作,也让抑制警告更精细、更安全。
测试与外部工具集成更顺手
pytest-mock 的 mocker fixture 补全、Mock(spec=...) 的补全,以及 unittest.mock.patch() 目标校验,能减少测试代码中的拼写错误和无效 mock。Zuban 作为新的外部类型检查器加入,与 ty、Pyrefly、basedpyright 并列,为团队提供了更多选择。Ruff 集成支持优化导入、保存时自动修复和全项目批量修复,配置发现也更可靠,适合在大型或多根项目中统一代码风格。
环境与调试的可靠性提升
conda 环境变量现在能在 IDE 内运行的脚本、测试和 Python 控制台中正确生效,解决了此前终端可用但 IDE 内缺失的问题,对依赖 GDAL、QGIS 等工具链的项目尤其重要。uv 工作区在升级后能保留解释器,创建环境不再需要 uv init。debugpy 模式新增 Set Value 和 Jump to Cursor,调试时可直接修改变量值或跳转执行,无需重启程序,提升了排查效率。
框架支持与编辑体验的细节优化
Django 6.0 任务运行配置、DRF reverse() 的 URL 名称补全、FastAPI 依赖路径参数误报修复,以及 SQLAlchemy ORM 补全和类型推断增强,都针对实际开发痛点。编辑方面,注释后回车缩进正确、制表符缩进文件移动行不再误报,新增对齐连续赋值的格式化选项。Jupyter 支持搜索单元格输出和批量移动单元格,并修复了 HTML 输出中脚本重复执行的问题。
Q&A
PyCharm 2026.3 在类型推断方面有哪些改进?
PyCharm 2026.3 改进了对 functools.partial 的支持,能推断剩余参数并检查类型;对泛型类、有界/约束类型变量、重载构造函数和泛型 __getattr__ 的推断更准确;集合推断(嵌套列表、可选值、字典字面量、元组解包)减少误报;还改进了 Literal、Enum、TypedDict,并支持 PEP 747 的 TypeForm[T] 和 ty_extensions.Intersection 交集类型。
如何抑制 PyCharm 中的类型警告?
PyCharm 2026.3 支持更短的 # type: ignore[...] 代码,并新增 # pycharm: ignore[...] 用于抑制单个 PyCharm 检查。还提供 Suppress with ‘type: ignore’ comment 操作,未知的抑制代码会被标记以捕获拼写错误。
PyCharm 2026.3 对 pytest 和 mock 有哪些增强?
PyCharm 2026.3 为 pytest-mock 的 mocker fixture 提供补全,支持 mocker.patch() 目标的导航,并基于 Mock(spec=...) 或 Mock(spec_set=...) 传入的类提供补全。还会标记无效的 unittest.mock.patch() 目标,改进 pytest fixture 的补全和文档。
PyCharm 2026.3 集成了哪些外部类型检查器和工具?
PyCharm 2026.3 新增对 Zuban(mypy 兼容的类型检查器和语言服务器)的支持,提供诊断、补全、悬停信息、内联提示和快速修复。同时改进了 Pyrefly 的自定义导入根和缺失包安装修复。Ruff 集成也得到增强,Optimize Imports 可移除未使用导入并组织导入,支持保存时或提交前自动运行 Ruff 修复,新增 Apply Ruff Fixes 操作可应用于选定范围甚至整个项目。
PyCharm 2026.3 在调试方面有哪些新功能?
debugpy 调试器模式现在支持 Set Value 和 Jump to Cursor。其他改进包括按类型排序变量、在 Plots 工具窗口显示图表、通过终端模拟接受交互输入,以及使用 Drop into debugger 处理失败的测试。调试在 WSL 中的测试、使用 fastapi dev 启动的应用以及 macOS 上的长时间 IDE 会话中也更可靠。
PyCharm 2026.3 如何改进 conda 和 uv 环境支持?
对于 conda,通过 conda env config vars set 或 activate.d 脚本配置的环境变量现在在 PyCharm 中运行脚本、测试和 Python 控制台时可用。对于 uv,使用共享根 .venv 的工作区在从 PyCharm 2026.1 升级后保留解释器;没有 pyproject.toml 的 uv pip 项目使用正确的安装命令;创建 uv 环境不再需要 uv init;新环境可选访问系统 site-packages。