Programación y desarrollo de software

PyCharm 2026.2 resuelve 263 problemas y mejora la comprensión del código y el autocompletado

La línea de lanzamiento de PyCharm 2026.2 incluye 263 correcciones y mejoras, con énfasis en la precisión de la inferencia de tipos, la compatibilidad con SQLAlchemy 2.0, la reducción de las advertencias falsas y la mejora del autocompletado y la refactorización.

2026-08-19
4 min de lectura
14 visitas
فريق تحرير certi.news
PyCharm 2026.2 resuelve 263 problemas y mejora la comprensión del código y el autocompletado

JetBrains anunció que la línea de lanzamiento de PyCharm 2026.2 incluye 263 correcciones y mejoras, muchas de ellas centradas en la forma en que el entorno de desarrollo comprende el código Python. Los cambios incluyen una inferencia de tipos más precisa, menos advertencias falsas, un autocompletado más adecuado y mejoras en las importaciones y la refactorización.

La compañía afirma que estas modificaciones se dirigen a detalles que aparecen en el trabajo diario, especialmente al utilizar tipos modernos y marcos de trabajo populares, en lugar de ofrecer una única función principal independiente.

Compatibilidad más precisa con SQLAlchemy 2.0

La actualización abordó un conjunto de problemas relacionados con SQLAlchemy 2.0, que anteriormente provocaban la aparición de advertencias falsas. PyCharm ahora gestiona correctamente las referencias textuales a clases dentro de Mapped[...], y también infiere que el tipo devuelto por Session.get() es un objeto del modelo o un valor None, en lugar de interpretarlo como el tipo de la propia clase.

El editor también reconoce los configuradores modernos de la propiedad hybrid_property mediante @name.inplace.setter, y gestiona los atributos de las clases de modelos heredadas a través de mixins, lo que reduce los informes de argumentos inesperados al crear objetos.

Mejora de la inferencia de tipos y del análisis del flujo de ejecución

JetBrains corrigió casos en los que el análisis indicaba erróneamente que una parte del código era inalcanzable o perdía el estrechamiento de tipos después de pasar por bucles. Al comprobar una unión numérica como int | float mediante isinstance, la rama else ya no se trata como inalcanzable, y el estrechamiento correcto del tipo se mantiene dentro de los bucles while.

Las correcciones también incluyeron conservar la información de tipos al utilizar desempaquetado y expresiones con asterisco, corregir el tipo resultante de asignaciones aumentadas como /= y mejorar la gestión de Self y de los resultados de constructores que utilizan __new__, __init__ o metaclass __call__.

En las enumeraciones, los valores .value y .name ahora se infieren como tipos precisos de Literal, en lugar de ampliarse a str o int. Asimismo, se pueden inferir los tipos de los parámetros de funciones decoradas a partir de las restricciones impuestas por el decorador, en lugar de asignarles el tipo genérico Any.

Importación y autocompletado más útiles

La importación automática ahora reutiliza el módulo importado previamente en lugar de sugerir una segunda importación duplicada. Si el módulo ya está disponible, PyCharm prefiere hacer referencia a él mediante el nombre cualificado; además, se añadió compatibilidad con la importación automática de clases anidadas.

Los destinos textuales de unittest.mock.patch() ahora cuentan con autocompletado para rutas que incluyen módulos, clases y atributos. Asimismo, el autocompletado de redefiniciones de funciones integradas o funciones dunder completa la firma anotada entera e importa automáticamente los tipos necesarios.

¿Qué cambia en la práctica?

Estas mejoras reducen el tiempo que los desarrolladores dedican a revisar advertencias incorrectas o a corregir sugerencias de importación y autocompletado. Además, las sugerencias de tipos en línea, que ahora se pueden pulsar para acceder a la definición del tipo, ayudan a comprender directamente en el lugar de uso el resultado de los tipos genéricos.

La actualización añadió la validación de los formatos dentro de las f-strings, de modo que detecta especificadores no compatibles o tipos que no implementan __format__. En la refactorización, cambiar el nombre del módulo ahora también actualiza las referencias y las instrucciones de importación relacionadas. Asimismo, el nombre de la acción Refactor | Field cambió a Attribute para ajustarse a la terminología de Python relacionada con los atributos de los objetos.

Fuente de la noticia
JetBrains Blog
Abrir fuente original ↗
ف
Autor

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

De la misma categoría

También te puede interesar

Ver todas las noticias