PyCharm 2026.2 中的修复与改进

PyCharm 2026.2 中的修复与改进

💡 原文英文,约1500词,阅读约需6分钟。
📝

内容提要

PyCharm 2026.2 发布,包含263项修复和改进。重点提升Python代码洞察力:改进SQLAlchemy 2.0支持,修复类型推断错误(如数值联合、解包、增强赋值),优化Self类型和枚举字面量。自动导入更智能,支持嵌套类导入和mock.patch补全。编辑器新增类型参数内联提示和f-string格式验证。重命名重构现可更新模块引用。整体减少误报,提升开发效率。

🔎

延伸解读

类型推断修复的实用价值

本次更新修复了多个类型推断错误,例如数值联合的isinstance分支不再误报不可达,增强赋值/=后类型从int变为float|int,以及Self类型在classmethod中的正确绑定。这些修复减少了IDE误报,让类型检查更准确,尤其对使用复杂类型注解和泛型的项目,能显著提升开发体验。

SQLAlchemy 2.0 支持改进

针对SQLAlchemy 2.0的长期误报问题,本次修复了Mapped中的字符串前向引用、Session.get()的返回类型推断,以及现代hybrid_property setter的识别。这些改进让PyCharm能更准确地理解SQLAlchemy模型,减少构造器参数误报,对使用该ORM的开发者尤为实用。

自动导入与补全的智能化

自动导入现在会优先复用已有导入,避免冗余导入;同时支持嵌套类的自动导入,以及mock.patch字符串目标的代码补全。这些改进减少了手动调整导入的麻烦,让代码补全更贴合实际使用场景,提升日常编码效率。

编辑器增强与重构可靠性

编辑器新增类型参数内联提示,并支持点击跳转类型定义;f-string格式规范验证能捕获不支持的格式符。重命名模块时,引用该模块的导入语句也会同步更新,避免遗留旧名称。这些细节改进让代码编辑和重构更可靠。

Q&A

PyCharm 2026.2 修复了哪些 SQLAlchemy 2.0 相关的问题?

PyCharm 2026.2 修复了多个 SQLAlchemy 2.0 的误报问题,包括:字符串前向引用在 Mapped[...] 中正确解析,Session.get() 返回类型推断正确(从 type[Report] | None 改为 Report | None),识别 @name.inplace.setter 形式的现代 hybrid_property 设置器,以及通过 mixin 定义的模型类属性被正确识别。

PyCharm 2026.2 在类型推断方面有哪些改进?

PyCharm 2026.2 改进了类型推断,包括:修复了数值联合类型上 isinstance 导致的 else 分支不可达误报;循环中的类型收窄不再丢失;字符串在 Annotated 中不再被误解析为前向引用;星号表达式保留元素类型;增强赋值(如 /=)产生正确的类型(float | int);Self 类型在 classmethod 中正确绑定;枚举的 .value 和 .name 推断为 Literal 类型;装饰器约束的函数参数类型被正确推断。

PyCharm 2026.2 的自动导入功能有哪些改进?

自动导入更智能:如果模块已导入,则优先复用现有导入而不是添加冗余导入;支持嵌套类的自动导入;mock.patch() 的字符串参数获得代码补全,包括模块、类和属性。

PyCharm 2026.2 在编辑器方面增加了哪些新功能?

编辑器新增类型参数内联提示,显示泛型解析后的具体类型,并且类型名称可点击跳转;f-string 格式说明符验证,会标记不支持的格式说明符或类型不支持格式化。

PyCharm 2026.2 的重构功能有什么变化?

重命名重构现在可以更新模块引用,当重命名模块时,导入该模块的语句也会被更新。另外,Refactor | Field 操作更名为 Attribute,以匹配 Python 术语。

PyCharm 2026.2 总共修复了多少个问题?

PyCharm 2026.2 总共包含 263 项修复和改进。

🏷️

标签

➡️

继续阅读