L'EDI Python PyCharm 2022.2 EAP améliore la prise en charge de WSL 2 et amorce la prise en charge de Python 3.11,
des améliorations sont également apportées à l'interface utilisateur

WSL

Prise en charge WSL améliorée

Depuis des années, le sous-système Windows pour Linux (WSL) facilite la vie des développeurs, administrateurs système et amateurs qui ont un pied dans le monde Windows et un pied dans le monde Linux.

L'année dernière, Microsoft a présenté une évolution de WSL : WSL 2. Cette nouvelle version de l’architecture qui permet au sous-système Windows pour Linux d’exécuter des fichiers binaires ELF64 Linux sous Windows utilise un véritable noyau Linux, modifie la façon dont ces binaires Linux interagissent avec Windows et le matériel de votre ordinateur, tout en offrant la même expérience utilisateur que dans WSL 1. WSL 2 offre des performances de système de fichiers beaucoup plus rapides et une compatibilité totale des appels système, ce qui vous permet d'exécuter davantage d'applications comme Docker!

Cette nouvelle version de WSL 2 utilise les fonctionnalités Hyper-V pour créer une machine virtuelle légère avec un noyau Linux minimal. Il faut s’attendre à une meilleure compatibilité avec les logiciels Linux, y compris la prise en charge de Docker, et « une augmentation spectaculaire des performances du système de fichiers ».

En 2021.1, JetBrains a ajouté la possibilité de travailler avec des projets stockés sur le système de fichiers WSL 2 sans avoir à les copier sur votre système de fichiers Windows. Cette même version a donné à PyCharm la capacité de détecter l'interpréteur WSL. Si aucun interpréteur WSL n'est configuré pour votre projet, PyCharm recherchera des interpréteurs système et les définira automatiquement comme interpréteur par défaut. De plus, vous pouvez ouvrir n'importe quel répertoire dans \\wsl$ avec PyCharm. Si PyCharm détecte un fichier Python dans le répertoire, il suggérera de créer un interpréteur basé sur WSL.

Désormais, avec PyCharm 2022.2, JetBrains va introduire des améliorations significatives pour travailler avec WSL. En particulier, la génération et la mise à jour des squelettes pour les interpréteurs WSL 2 seront plus rapides, ce qui accélérera évidemment le travail avec WSL en général.

De plus, vous pourrez configurer des environnements virtuels et exécuter des notebooks Jupyter sur WSL à partir de PyCharm.

Python 3.11

Python est un langage de programmation interprété, multi-paradigme et multi-plateformes. Il favorise la programmation impérative structurée, fonctionnelle et orientée objet. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.

Python 3.11 est actuellement dans la première phase bêta de sa Preview avant sa version stable prévue pour octobre 2022.

Cette version apporte de nouvelles fonctionnalités et améliorations parmi lesquelles :
  • Les groupes d'exceptions, qui permettront aux programmes de déclencher et de gérer plusieurs exceptions en même temps
  • Les groupes de tâches, pour améliorer la façon dont vous exécutez le code asynchrone
  • Les messages d'erreur améliorés, qui vous aideront à déboguer plus efficacement votre code
  • Les optimisations, promettant de rendre Python 3.11 nettement plus rapide que les versions précédentes
  • Les améliorations du typage statique, qui vous permettront d'annoter votre code plus précisément

Prise en charge de PEP 654*: groupes d'exception

La gestion des exceptions est une partie importante de la programmation. Parfois, des erreurs se produisent à cause de bogues dans votre code. Dans ces cas, de bons messages d'erreur vous aideront à déboguer votre code efficacement. D'autres fois, des erreurs se produisent sans faute de votre code. Peut-être que l'utilisateur essaie d'ouvrir un fichier corrompu, peut-être que le réseau est en panne, ou peut-être que l'authentification à une base de données est manquante.

Habituellement, une seule erreur se produit à la fois. Il est possible qu'une autre erreur se soit produite si votre code avait continué à s'exécuter. Mais Python ne signalera généralement que la première erreur rencontrée. Il y a des situations où il est logique de signaler plusieurs bogues à la fois :
  • Plusieurs tâches simultanées peuvent échouer en même temps.
  • Le code de nettoyage peut provoquer ses propres erreurs.
  • Le code peut essayer plusieurs alternatives différentes qui génèrent toutes des exceptions.

Dans Python 3.11, une nouvelle fonctionnalité appelée groupes d'exceptions est disponible. Il fournit un moyen de regrouper des exceptions non liées et il est fourni avec une nouvelle syntaxe except* pour les gérer. La PEP 654 a été écrite et implémentée par Irit Katriel, l'un des principaux développeurs de CPython, avec le soutien du responsable asynchrone Yury Selivanov et de l'ancien BDFL Guido van Rossum. Elle a été présenté et discuté lors du Python Language Summit en mai 2021.

À l'approche de la sortie officielle de Python 3.11, JetBrains a commencé à implémenter la prise en charge de ses nouvelles fonctionnalités. Dans cet EAP de PyCharm 2022.2, l'éditeur a ajouté un aperçu du code pour les nouveaux groupes d'exceptions et l'opérateur except* de la PEP 654.

Désormais, PyCharm vous avertira des combinaisons interdites, comme les opérateurs except et except* dans la même instruction try, ou les opérateurs continue, break et return dans les clauses except*. Il vous avertira également si vous essayez d'attraper un ExceptionGroup dans une clause try*. JetBrains encourage les développeurs à essayer cette fonctionnalité s'ils travaillent déjà avec Python 3.11.

Interface utilisateur

Action Fusionner toutes les fenêtres de projets sur macOS

Pour les utilisateurs de macOS, JetBrains a introduit la possibilité de fusionner toutes les fenêtres de projet ouvertes en une seule, en les transformant en onglets. Cette action est disponible dans le menu Fenêtre.

Nom : fusion.png
Affichages : 43001
Taille : 116,6 Ko

Nouveau champ Description pour les signets mnémoniques

JetBrains a intégré un champ Description dans la boîte de dialogue Ajouter un signet mnémonique afin que vous puissiez ajouter des descriptions facultatives à vos signets dès que vous les créez.

Nom : mnemonic.png
Affichages : 789
Taille : 40,5 Ko

Indicateur de taille de police sur le zoom

Lorsque vous effectuez un zoom avant ou arrière sur votre code dans l'éditeur, vous verrez désormais un indicateur indiquant la taille de police actuelle et une option pour la rétablir par défaut. Vous pouvez zoomer et dézoomer depuis l'éditeur en maintenant ⌘ / Ctrl enfoncé et en utilisant la molette de la souris. Pour régler ce raccourci, allez dans Préférences / Paramètres | Éditeur | Général et dans la section Contrôle de la souris, sélectionnez Modifier la taille de la police avec ⌘ / Ctrl + molette de la souris.

Nom : controle.png
Affichages : 799
Taille : 41,9 Ko

Essayer PyCharm 2022.2 EAP