编程与软件开发

PyCharm 2026.2 修复 263 个问题,改进代码理解和自动补全

PyCharm 2026.2 发布线包含 263 项修复和改进,重点提升类型推断准确性、SQLAlchemy 2.0 支持、减少误报,并改进自动补全和重构。

2026-08-19
1 分钟阅读
14 浏览量
فريق تحرير certi.news
PyCharm 2026.2 修复 263 个问题,改进代码理解和自动补全

JetBrains 宣布,PyCharm 2026.2 发布线包含 263 项修复和改进,其中很大一部分集中于开发环境理解 Python 代码的方式。这些变化包括更准确的类型推断、更少的误报、更合适的自动补全,以及导入和重构方面的改进。

该公司表示,这些调整针对的是日常工作中出现的细节,尤其是在使用现代类型和常见框架时,而不是推出一个独立的主要功能。

更准确地支持 SQLAlchemy 2.0

此次更新解决了一系列与 SQLAlchemy 2.0 相关的问题,这些问题此前会导致误报。PyCharm 现在能够正确处理 Mapped[...] 中对类的字符串引用,并将 Session.get() 返回的类型推断为模型对象或 None 值,而不是将其解释为类本身的类型。

编辑器现在还能够识别使用 @name.inplace.setter 的现代 hybrid_property 属性设置器,并处理通过 mixins 继承的模型类属性,从而减少创建对象时有关意外参数的报告。

改进类型推断和执行路径分析

JetBrains 修复了分析器错误地声明某段代码不可达,或在经过循环后丢失类型收窄的情况。在使用 isinstance 检查 int | float 这样的数字联合类型时,else 分支不再被视为不可达;在 while 循环中也会继续正确地进行类型收窄。

修复内容还包括:在使用解包和星号表达式时保留类型信息;修正 /= 等增强赋值产生的类型;改进对 Self 以及使用 __new____init__metaclass __call__ 的构造器结果的处理。

在枚举中,.value.name 现在会被推断为精确的 Literal 类型,而不是扩展为 strint。此外,还可以根据装饰器施加的约束推断被装饰函数的参数类型,而不是将其赋予通用的 Any 类型。

更实用的导入和自动补全

自动导入现在会重新使用已经导入的模块,而不是建议再次导入相同模块。如果模块已经可用,PyCharm 会优先通过限定名称引用它;同时还增加了对嵌套类自动导入的支持。

字符串形式的 unittest.mock.patch() 目标现在可以自动补全包含模块、类和属性的路径。此外,重写内置函数或 d​​under 函数时,自动补全会填充完整的带注解签名,并自动导入所需类型。

实际会有哪些变化?

这些改进减少了开发者检查错误警告,或修正导入和自动补全建议所需的时间。行内类型提示现在可以点击以跳转到类型定义,这也有助于直接在使用位置理解泛型类型的结果。

此次更新还增加了对 f-string 格式语法的检查,可以检测不受支持的格式说明符,或未实现 __format__ 的类型。在重构方面,重命名模块现在也会更新相关引用和导入语句。此外,Refactor | Field 操作已更名为 Attribute,以便与 Python 关于对象属性的术语保持一致。

新闻来源
JetBrains Blog
查看原始来源 ↗
ف
作者

فريق تحرير certi.news

同一分类

你可能还喜欢

查看所有新闻