Programmation et développement logiciel

PyCharm 2026.2 corrige 263 problèmes et améliore la compréhension du code et la complétion automatique

La version PyCharm 2026.2 comprend 263 corrections et améliorations, avec un accent sur la précision de l’inférence des types, la prise en charge de SQLAlchemy 2.0, la réduction des faux avertissements et l’amélioration de la complétion et de la refactorisation.

2026-08-19
4 min de lecture
14 vues
فريق تحرير certi.news
PyCharm 2026.2 corrige 263 problèmes et améliore la compréhension du code et la complétion automatique

JetBrains a annoncé que la version PyCharm 2026.2 comprenait 263 corrections et améliorations, dont une grande partie concerne la manière dont l’environnement de développement comprend le code Python. Ces changements incluent une inférence des types plus précise, moins de faux avertissements, une complétion automatique plus pertinente, ainsi que des améliorations liées aux importations et à la refactorisation.

L’entreprise indique que ces modifications ciblent des détails qui apparaissent dans le travail quotidien, en particulier lors de l’utilisation de types modernes et de frameworks courants, plutôt que de proposer une seule fonctionnalité principale distincte.

Prise en charge plus précise de SQLAlchemy 2.0

La mise à jour corrige un ensemble de problèmes liés à SQLAlchemy 2.0, qui provoquaient auparavant l’apparition de faux avertissements. PyCharm gère désormais correctement les références textuelles aux classes dans Mapped[...] et déduit le type renvoyé par Session.get() comme étant un objet du modèle ou une valeur None, au lieu de l’interpréter comme le type de la classe elle-même.

L’éditeur reconnaît également les outils modernes de configuration de la propriété hybrid_property utilisant @name.inplace.setter et gère les attributs des classes de modèles hérités par l’intermédiaire de mixins, ce qui réduit les signalements d’arguments inattendus lors de la création d’objets.

Amélioration de l’inférence des types et de l’analyse du flux d’exécution

JetBrains a corrigé des cas où l’analyse indiquait à tort qu’une partie du code était inaccessible ou perdait le rétrécissement du type après le passage dans des boucles. Lors de l’examen d’une union numérique telle que int | float avec isinstance, la branche else n’est plus considérée comme inaccessible, et le rétrécissement correct du type est conservé à l’intérieur des boucles while.

Les corrections incluent également la conservation des informations de type lors de l’utilisation du dépaquetage et des expressions étoilées, la correction du type produit par une affectation augmentée telle que /=, ainsi qu’une meilleure gestion de Self et des résultats des constructeurs utilisant __new__, __init__ ou metaclass __call__.

Pour les énumérations, les valeurs .value et .name sont désormais déduites comme des types précis de Literal, au lieu d’être élargies en str ou int. Il est également possible de déduire les types des paramètres des fonctions décorées à partir des contraintes imposées par le décorateur, plutôt que de leur attribuer le type général Any.

Importations et complétion automatique plus utiles

L’importation automatique réutilise désormais le module déjà importé au lieu de proposer une seconde importation en double. Si le module est déjà disponible, PyCharm privilégie sa référence via le nom qualifié. La prise en charge de l’importation automatique des classes imbriquées a également été ajoutée.

Les cibles textuelles de unittest.mock.patch() bénéficient désormais de la complétion automatique pour les chemins comprenant des modules, des classes et des attributs. De même, la complétion de la redéfinition des fonctions intégrées ou des fonctions d​​under remplit entièrement la signature annotée et importe automatiquement les types nécessaires.

Quels changements en pratique ?

Ces améliorations réduisent le temps que les développeurs consacrent à l’examen d’avertissements incorrects ou à la correction des suggestions d’importation et de complétion. Les infobulles de types dans le code, désormais cliquables pour accéder à la définition du type, aident également à comprendre directement sur le lieu d’utilisation le résultat des types génériques.

La mise à jour ajoute la validation des spécifications de format dans les f-strings, afin de détecter les spécifications non prises en charge ou les types qui n’implémentent pas __format__. Dans la refactorisation, le changement de nom d’un module met désormais aussi à jour les références et les instructions d’importation associées. Le nom de l’action Refactor | Field a également été remplacé par Attribute, afin de correspondre à la terminologie Python relative aux attributs des objets.

Source de l’actualité
ف
Auteur

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

Dans la même catégorie

À lire également

Voir toutes les actualités