Nouveautés de PyCharm 2021.2

PyCharm 2021.2 : nouvelles fonctionnalités de Python 3.10, aperçu HTML avec rechargement de la page du navigateur lors de l'enregistrement, mode collaboratif dans la console Python

Analyse du code

Python 3.10

Découvrez comment vous pouvez bénéficier des nouvelles fonctionnalités de Python 3.10 avec PyCharm, avant même la version stable de Python 3.10 ! We started working on support for Python 3.10 by delivering code insight for Explicit Type Aliases (PEP 613) in PyCharm 2020.3. Dans cette version, nous inaugurons la prise en charge de PEP supplémentaires.

Pattern Matching (PEPs 634, 635, 636)

Pattern Matching (PEPs 634, 635, 636)

Python 3.10 amène une nouvelle syntaxe : Structural Pattern Matching. PyCharm fournit de nombreuses fonctionnalités pour vous aider à travailler avec la nouvelle syntaxe : Unused local symbols (symboles locaux non utilisés) et Unreachable code (code inaccessible), la saisie semi-automatique de code intelligente et la mise en évidence de la syntaxe pour les mots-clés match et case et l'action Complete Current Statement.

Complete Current Statement
Complete Current Statement

PyCharm peut désormais compléter les instructions match et leurs blocs case correspondants. Une fois que vous avez fini de saisir une première instruction match, choisissez Complete Current Statement (Maj+Ctrl+Entrée) et PyCharm complétera le reste, y compris les deux points et la première partie du bloc case. Le caret restera en place pour vous permettre de saisir le reste du bloc case.

Formatage
Formatage

L'outil de formatage intégré de PyCharm reconnaît les instructions match et vous aide à les formater correctement.

Nouvelle syntaxe pour les types d'union (PEP 604)

New syntax for union types (PEP 604)

Avec Python 3.10, vous pourrez utiliser int | str pour les types d'union au lieu de Union[int, str]. Cette fonctionnalité est déjà disponible dans les versions antérieures de Python via l'utilisation des annotations from __future__ import.

PyCharm fournit une analyse globale du code pour la nouvelle syntaxe, avec notamment des actions d'intention et des informations dans la documentation rapide. PyCharm prend désormais en charge l'inférence de type pour les arguments isinstance et issubclass avec le nouveau type syntaxique.

Autres améliorations:

  • La vérification de type fonctionne pour typing.Literal dans divers types de collections, ce qui garantit une correspondance correcte avec des valeurs spécifiques dans les éléments des collections. Cela fonctionne même pour les collections imbriquées.
  • Vous pouvez utiliser l'injection doctest en Markdown pour démontrer l'exécution du code Python en mode REPL comme s'il était exécuté dans la console Python.

Développement collaboratif : Code With Me

Prise en charge de la console Python

Prise en charge de la console Python

Le travail dans la console Python est maintenant pris en charge à la fois sur la machine cliente et sur l'hôte. Lors d'une session de codage collaboratif, les invité·e·s peuvent réviser le code pendant que l'hôte l'exécute dans la console interactive. La prise en charge de la console Python dans Code With Me s'accompagne de toutes les fonctionnalités habituelles de PyCharm, telles que la mise en évidence syntaxique à la volée avec des inspections et la saisie semi-automatique du code.

Saisie semi-automatique du code synchronisée

Saisie semi-automatique du code synchronisée

Lorsque vous êtes en mode Following pendant une session Code With Me, vous avez connaissance des suggestions de saisie semi-automatique du code utilisées par la personne que vous suivez. En outre, pour tout type de session, les suggestions des invité·e·s seront exactement les mêmes que celles de l'hôte.

Autres améliorations:

Code With Me a maintenant deux nouveaux serveurs relais, l'un sur la Côte Ouest des États-Unis et l'autre en Afrique du Sud. Cela a rendu le temp de réponse presque trois fois plus rapide.

Améliorations de l'IDE

Fenêtre d'outils pour les paquets Python : installez des paquets à partir d'emplacements personnalisés

Fenêtre d'outils pour les paquets Python : installez des paquets à partir d'emplacements personnalisés

Dans PyCharm 2021.1, nous avions implémenté la fenêtre d'outils Python Packages pour gérer les paquets correspondant à l'interpréteur Python actuellement sélectionné. Vous pouvez maintenant installer des paquets non seulement à partir du dépôt PyPI, mais aussi à partir du VCS ou d'une machine locale. Cliquez sur le lien Add Package dans la barre d'outils Python Packages et sélectionnez From Version Control | From Disc.

Améliorations de l'accessibilité

PyCharm 2021.2 comprend plusieurs mises à jour utiles pour coder avec le mode lecteur d'écran activé sous macOS. Il vocalisera les suggestions disponibles dans la saisie semi-automatique du code, le contenu sélectionné dans une boîte combo et des listes de boîtes combo, ainsi que les résultats de vos requêtes dans Search Everywhere.

Autres améliorations :

  • Nous avons ajouté un certain nombre d'actions qui peuvent être déclenchées par l'enregistrement du projet, notamment la mise en forme du code et l'optimisation des importations. Elles sont rassemblées dans Preferences/Settings | Tools | Actions on Save.
  • Vous pouvez maintenant facilement glisser et déposer une fenêtre d'outil à l'emplacement souhaité dans la fenêtre principale de l'IDE ou dans une fenêtre séparée. Vous pouvez la faire glisser en cliquant dans la barre de nom de la fenêtre d'outils, puis la déposer dans n'importe quelle zone mise en évidence.
  • Téléchargez des icônes personnalisées en faisant un clic droit sur un projet dans l'écran de bienvenue et en sélectionnant Choose project icon dans le menu contextuel.
  • À partir de cette version, vous pourrez profiter d'une interface utilisateur entièrement localisée en chinois, coréen, et japonais. La localisation est disponible sous la forme d'un plugin de pack linguistique. Il n'est pas inclus automatiquement mais s'installe facilement dans votre IDE.

Bases de données Professional Edition uniquement

Saisie semi-automatique du code pour les champs et les opérateurs dans la console MongoDB

Saisie semi-automatique du code pour les champs et les opérateurs dans la console MongoDB

Now PyCharm can complete fields, nested fields, and fields inside aggregation expressions, as well as query operators, projection operators, update operators, and aggregation stages in the MongoDB console.

Live Templates contextuels à partir de l'éditeur de données avec action SQL scripts

Live Templates contextuels à partir de l'éditeur de données avec action SQL scripts

Les Live Templates contextuels fonctionnent désormais directement à partir de l'éditeur de données. Si vous souhaitez exécuter des requêtes sur une table, vous pouvez facilement le faire à l'aide de l'action SQL scripts !

Développement front-end Professional Edition uniquement

Rechargement des pages dans le navigateur lors de l'enregistrement

Rechargement des pages dans le navigateur lors de l'enregistrement

PyCharm vous permet de prévisualiser les fichiers HTML dans un navigateur grâce au serveur web intégré. Il peut actualiser automatiquement les pages dans un navigateur lorsque vous modifiez et enregistrez vos fichiers HTML, CSS et JavaScript. Pour commencer, ouvrez un fichier HTML dans l'éditeur, survolez le coin de l'éditeur et cliquez sur l'icône du navigateur que vous souhaitez utiliser. Tous les navigateurs sont pris en charge.

Refactorisation Rename pour les hooks useState de React

Refactorisation Rename pour les hooks useState de React

Ne perdez plus de temps à refactoriser les valeurs et fonctions useState une par une : désormais, PyCharm peut les renommer pour vous ! Placez le curseur sur une valeur d'état et appuyez sur Maj+F6 ou allez dans Refactor | Rename dans le menu contextuel du clic droit.

Importation automatique pour require()

Importation automatique pour require()

Saviez-vous que PyCharm peut ajouter les déclarations d'importation manquantes lorsque vous complétez les symboles ES6 ? Maintenant, il peut faire la même chose pour les modules CommonJS : les importations require seront insérées lors de la saisie semi-automatique du code.

Autres améliorations:

L'ajout de nouvelles dépendances de projet dans package.json est encore plus facile car la saisie semi-automatique du code fonctionne maintenant pour les paquets npm privés. PyCharm vous permet de vérifier les informations sur les dernières versions du paquet, tout comme il le fait pour les paquets publics.

Contrôle de version

Améliorations pour les vérifications pré-commit

Améliorations pour les vérifications pré-commit

Nous avons étendu la liste des actions pré-commit possibles avec la possibilité d'exécuter des tests. Cochez la case Run Tests dans la section Before Commit pour tester les modifications appliquées. Vous pouvez aussi personnaliser les options Analyze code et Cleanup en cliquant sur Choose profile à côté d'elles. La progression et les résultats de toutes les vérifications préalables au commit apparaissent dans la zone Commit.

Autres améliorations :

  • Sécurisez vos commits en utilisant la signature GPG pour les commits Git. Pour ce faire, allez dans Preferences/Settings | Version Control | Git, cliquez sur Configure GPG Key, puis sélectionnez la clé dans la liste déroulante.

Intégration de Space

Connectez PyCharm à votre organisation dans JetBrains Space, notre nouvelle plateforme pour le développement de logiciels et la collaboration d'équipe, pour visualiser et cloner les référentiels de projets et réviser le code de vos collaborateurs. Pour vous connecter à Space, cliquez sur le bouton Get from VCS sur l'écran d'accueil, sélectionnez Space sur la gauche, puis saisissez l'URL de votre organisation dans le champ dédié. L'intégration avec Space est désormais directement disponible.

États des jobs de Space dans le journal Git

États des jobs de Space dans le journal Git

Pour vous aider à voir la progression d'une tâche d'un simple coup d'œil à la liste des commits, nous avons ajouté des icônes pour les états des jobs de Space dans l'onglet Log de la fenêtre d'outils Git. Si vous cliquez sur une icône, l'IDE ouvre une fenêtre contextuelle avec les informations d'automatisation pour ce job.

Si vous n'avez pas besoin de ces informations, cliquez sur l'icône en forme d'œil au-dessus du journal et sélectionnez Show Columns | Space Automation.

Affichage de la branche dans les révisions de code

Affichage de la branche dans les révisions de code

Votre IDE peut maintenant afficher les branches associées dans la révision de code sélectionnée. Vous pouvez voir la liste des branches qui contiennent les commits effectués lors du travail sur le problème actuel dans l'onglet Details.

Mentionner les membres de votre équipe

Mentionner les membres de votre équipe

La communication avec les membres de votre équipe dans les révisions de code Space est désormais plus pratique car vous pouvez les mentionner en utilisant @ suivi de leur nom. Cette fonctionnalité mineure mais utile fonctionne dans la chronologie et dans les commentaires de code.

Veuillez noter que les fonctionnalités signalées par la mention Professional Edition uniquement ne sont prises en charge que dans PyCharm Professional Edition.