Nouveautés de PyCharm 2022.1

Prise en charge de l'authentification pour les référentiels de paquets personnalisés, prise en charge de TypedDict améliorée et nouvelle interface utilisateur Services pour Docker

Dans cette nouvelle version de PyCharm, nous nous sommes concentrés sur l'optimisation de certaines fonctionnalités afin d'améliorer l'expérience utilisateur globale et de vous faire gagner en productivité. Nous avons donné la priorité à la finalisation des fonctionnalités implémentées précédemment et à la simplification de certains workflows.

IDE

Prise en charge de l'authentification pour les référentiels de paquets personnalisés

Configurez l'authentification HTTP de base pour accéder aux référentiels de paquets personnalisés et gérer facilement les dépendances depuis PyCharm, sans avoir à basculer vers le terminal pour une installation manuelle. Allez dans la fenêtre d'outils Python Packages, cliquez sur l'icône engrenage, puis sur le signe plus dans la boîte de dialogue, ajoutez l'URL du référentiel et sélectionnez l'option Basic HTTP pour saisir les informations d'identification requises.

Nouvelle fenêtre d'outils Notifications

La fenêtre d'outils Event Log est remplacée par une nouvelle fenêtre Notifications. Les suggestions et notifications sont organisées de façon plus simple afin d'assurer que vous ne manquiez rien d'important.

Prise en charge des renderers de types personnalisés

Accélérez et simplifiez votre session de débogage, notamment lorsque vous traitez des objets volumineux ou ayant plusieurs attributs, en personnalisant le format d'affichage pour différents objets. Consultez la documentation pour plus d'informations.

Autres améliorations :

  • Reformatez votre code en mode LightEdit. Pour ce faire, cliquez sur Code | Reformat Code dans le menu principal ou appuyez sur Ctrl+Alt+L.
  • PyCharm peut désormais installer Python 3 sur macOS, même sans exécutable Python 3.

Prise en charge de Jupyter Pro

Les cellules de code restent en mode Edit après l'exécution

Lorsque vous utilisez Run Cell and Insert Below, la cellule qui vient d'être ajoutée est désormais en mode Edit par défaut afin que vous puissiez commencer à écrire du code directement. Il en va de même lorsque vous modifiez et exécutez votre cellule active : elle restera en mode Edit après avoir été exécutée.

Optimisation du copier-coller de cellule

Auparavant, lorsque vous faisiez un copier/coller de cellule en mode Command, par exemple pour réorganiser votre notebook, seule la cellule était collée au nouvel emplacement, pas sa sortie. Ce comportement a été modifié dans PyCharm 2022.1.

Autres améliorations:

  • Prise en charge de la complétion de code dans l'environnement d'exécution de Jupyter.

Éditeur

Saisie semi-automatique du code améliorée pour TypedDict

PyCharm permet d'utiliser facilement des littéraux dict en tant qu'arguments de fonctions ou d'instancier des objets à partir des classes dans lesquelles TypedDict est attendu en fournissant la saisie semi-automatique du code pour les clés disponibles.

Avertissements TypedDict par clé améliorés

Lorsqu'un dictionnaire créé en tant que littéral ou avec le constructeur dict est utilisé là où TypedDict est attendu, PyCharm affiche des messages d'erreur par clé pointant vers des valeurs individuelles incorrectes, manquantes ou non attendues.

Exécuter des commandes à partir des fichiers Markdown

Lors de l'utilisation de fichiers Markdown contenant des instructions avec des commandes à exécuter (fichiers README, par exemple), vous pouvez exécuter ces commandes directement depuis le fichier en utilisant les icônes d'exécution dans la gouttière.

Copy code snippet pour Markdown

La nouvelle action Copy code snippet dans les blocs Markdown permet de copier du contenu dans le presse-papiers en un clic.

Autres améliorations :

  • Sélectionnez des en-têtes, créez des listes et bien plus encore avec la nouvelle barre d'outils flottante de l'éditeur Markdown.
  • L'action Join Lines couvre désormais les déclarations if imbriquées.

Prise en charge du développement à distance Pro

Nouvelle interface utilisateur Services pour Docker

Travailler avec Docker peut vite devenir compliqué. Nous avons remanié l'interface utilisateur de Docker dans la fenêtre d'outils Services afin de permettre davantage de contrôle sur les conteneurs, images, réseaux et volumes.

Prise en charge de Docker Registry V2

Nous avons ajouté la prise en charge de l'API Docker Registry HTTP V2 qui est utilisée avec Docker 1.6 et ses versions ultérieures. Vous pouvez ainsi créer des registres Docker V2 simples ou protégés par mot de passe et effectuer des actions comme afficher, pousser et extraire des images.

Chemin personnalisé vers kubectl

Vous pouvez configurer manuellement un chemin vers kubectl s'il ne se trouve pas à l'emplacement standard. Pour définir votre chemin personnalisé, allez dans Settings / Preferences | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.

Autres améliorations :

  • Kubernetes : une fonctionnalité de transfert de port pour les pods est désormais disponible.
  • Kubernetes : nouvelle action Describe Resource pour l'ensemble des ressources de la vue Services.
  • Kubernetes : la modification des ressources chargées depuis le cluster peut désormais se faire à partir de l'onglet de l'éditeur.

Frontend et Bases de données Pro

Meilleure prise en charge de Next.js

Grâce à la prise en charge intégrée de React, toutes les fonctionnalités principales doivent déjà fonctionner dans vos projets Next.js. PyCharm 2022.1 ajoute la prise en charge de certains aspects spécifiques au framework, comme les pages. PyCharm résout maintenant les chemins utilisés dans la propriété href de vos composants Link, ainsi que dans form et d'autres balises. La saisie semi-automatique du code, la navigation et les refactorisations fonctionneront également.

Prise en charge de Volta

PyCharm est désormais intégré avec Volta, un gestionnaire d'outils JavaScript, et reconnaît automatiquement les instances Yarn et npm installées avec Volta.

MongoDB : modification des champs dans les résultats

Il est désormais possible de modifier les résultats dans les collections MongoDB aussi facilement que dans les bases de données relationnelles, mais aussi de modifier les résultats obtenus via .find(). Cela fonctionne même si les méthodes cursor qui modifient le résultat, telles que sort() ou limit(), s'exécutent après .find().