Nouveautés de PyCharm 2019.3

Les widgets interactifs pour les notebooks Jupyter, la prise en charge de MongoDB et l'assistance au codage pour toutes les fonctionnalités de Python 3.8 sont maintenant disponibles.

Jupyter Pro uniquement

Widgets interactifs

Widgets interactifs

To provide more interactivity, Jupyter notebooks support interactive controls known as interactive widgets. Ces contrôles vous permettent de transformer des notebooks statiques en tableaux de bord interactifs, afin que les personnes qui consultent vos notebooks puissent personnaliser leur vue. Avec cette mise à jour, PyCharm prend désormais en charge ces widgets interactifs. Cela signifie que la sortie tient compte du rendu des widgets, et qu'ils peuvent être utilisés pour manipuler les notebooks de la même façon que sur les notebooks Jupyter natifs.

L'IDE prend maintenant en charge la plupart des bibliothèques de widgets couramment utilisées. Si votre bibliothèque ne fonctionne pas, n'hésitez pas à ouvrir un ticket.

Saisie semi-automatique lors de l'exécution

Saisie semi-automatique lors de l'exécution

L'un des avantages de PyCharm est son assistance intelligente au codage, rendue possible par nos algorithmes avancés d'analyse du code statique. Toutefois, pour des langages dynamiques comme Python, l'analyse du code statique ne suffit pas toujours. C'est pourquoi avec cette mise à jour nous étendons ces capacités d'analyse en exploitant les informations d'exécution fournies par Jupyter lui-même. Ce processus permet une saisie automatique plus efficace dans les cas tels les index de dictionnaires ou les expressions profondément imbriquées dont l'IDE ne pouvait pas déterminer le type à l'aide d'une analyse statique.

Zoom avant et arrière pour le volet de la sortie

Zoom avant et arrière pour le volet de la sortie

Vous pouvez à présent choisir d'utiliser une taille de police de l'aperçu cohérente avec l'éditeur ou personnalisée dans les paramètres. De plus, l'aperçu respecte désormais l'option de l'éditeur « Change font size (Zoom) with Ctrl+Mouse Wheel ». Une fois activée, elle vous permet de zoomer en avant ou en arrière dans l'aperçu à l'aide de la molette de la souris en maintenant la touche Ctrl.

Autres améliorations

  • Si un notebook Jupyter est modifié en dehors de l'IDE (par exemple via l'interface native de Jupyter), l'IDE synchronise maintenant automatiquement son état pour s'assurer que l'utilisateur de l'IDE voie la dernière version du notebook et qu'aucune modification ne soit perdue.

Python

Saisie automatique pour les chemins de fichiers

Saisie automatique pour les chemins de fichiers

Vous craignez les erreurs de frappe lorsque vous écrivez un nom de fichier ? Particulièrement avec des noms de fichiers assez longs comme 'open(‘data/survey_data_28112019_exported.csv')' ? Vous pouvez maintenant bénéficier de suggestions de chemins de fichiers dans l'éditeur de code ou la console Python. Nous avons perfectionné notre fonctionnalité de saisie automatique de code contextuelle afin que les littéraux de chaînes des contextes associés aux fichiers suggèrent des chemins de fichiers possibles.

Prise en charge de l'importation relative

Prise en charge de l'importation relative

Vous préférez les importations relatives plutôt qu'absolues ? PyCharm est maintenant capable d'effectuer des conversions automatiques entre ces styles. Si vous importez déjà depuis un certain paquet avec une importation relative, toute nouvelle importation depuis ce paquet sera automatiquement créée en tant qu'importation relative également.

Python 3.8 : TypedDicts

Python 3.8 : TypedDicts

Évitez les erreurs d'affectations de valeurs pour les dictionnaires grâce à la prise en charge de TypedDict par PyCharm. Bénéficiez d'une représentation précise de vos structures de paires clé-valeur et de l'aide de notre éditeur de code pour leur utilisation.

Python 3.8 : annotation de type Literal

Python 3.8 : annotation de type Literal

Vous avez une méthode qui prend une chaîne littérale spécifique, par exemple le mode fichier pour 'open' ? Vous pouvez utiliser l'annotation de type 'Literal' de Python 3.8 pour contrôler non seulement un type, mais également une valeur précise. PyCharm vous avertit désormais lorsque vous appelez une fonction à l'aide d'une valeur non prise en charge.

Créez automatiquement vos tests pytest

Créez automatiquement vos tests pytest

Notre outil de création automatique de tests a bénéficié d'une mise à niveau pour prendre en charge pytest. Grâce à cela, PyCharm vous permet de créer automatiquement des tests pytest d'un simple clic sur l'option Go To | Test dans le menu contextuel d'une déclaration de méthode.

Débogueur : informations sur la taille pour les collections

Débogueur : informations sur la taille pour les collections

Lors du débogage, les informations de suivi doivent être aussi claires et détaillées que possible. C'est pourquoi nous avons altéré la vue des variables afin qu'elle affiche des données mieux organisées et plus complètes. Grâce à cela, vous bénéficiez d'un nouveau tri, d'une représentation visuelle optimisée pour les tableaux scientifiques, de l'affichage de la longueur des collections et de la suppression des doublons dans les détails.

Autres améliorations

  • Vous travaillez avec des scripts réseau ou communiquez avec des équipements informatiques à l'aide de valeurs hexadécimales ou binaires ? Bonne nouvelle ! PyCharm intègre à présent la conversion du format entre les valeurs décimales et le format hexadécimal ou binaire directement depuis la console ou le débogueur, grâce à la vue des variables.
  • Vous développez pour Linux sous Windows ? Nous avons ajouté la prise en charge du sous-système Windows pour Linux 2. Configurez votre interpréteur Python dans PyCharm pour utiliser celui disponible à partir de WSL 2. Pro uniquement

Améliorations des performances

Indexation plus rapide

Indexation plus rapide

PyCharm peut vous aider à progresser plus vite grâce à son analyse de code avancée. Pour que cela fonctionne, nous avons besoin d'indexer non seulement votre code, mais aussi tous les paquets que vous importez. Lorsque vous utilisez un paquet avec des extensions compilées, comme beaucoup de paquets de science des données, avant de pouvoir l'indexer, nous devons générer des squelettes Python (fichiers stub) qui décrivent l'interface Python. Nous avons apporté des améliorations à ce processus qui permettent d'accélérer l'ensemble de l'indexation d'au moins 25 %. Évidemment, si vous utilisez le même paquet dans plusieurs virtualenvs, nous réutilisons l'index déjà créé.

Moins de blocages et une signalisation améliorée pour ces blocages

Moins de blocages et une signalisation améliorée pour ces blocages

Malheureusement, parfois l'interface utilisateur de PyCharm se bloque pendant quelque temps avant de vous permettre de reprendre votre travail de programmation. Nous comprenons que ce problème est extrêmement désagréable, et nous travaillons dur pour éliminer ces blocages. Nous avons corrigé de nombreux problèmes pouvant entraîner des blocages de l'interface utilisateur, et ajouté la possibilité de signaler immédiatement un blocage de l'interface directement dans l'IDE. Cela nous permet d'enquêter sur les raisons de ce blocage pour nous assurer qu'il ne se reproduise pas. Merci d'avance de nous aider à éliminer les blocages de l'interface utilisateur de PyCharm !

Autres améliorations

  • Cette année, nous avons beaucoup travaillé sur les performances de démarrage de tous les IDE de JetBrains. Le temps de démarrage de notre plateforme principale a été amélioré dans les versions 2019.3 et nous allons poursuivre nos efforts dans ces sens pour tous nos IDE.
  • Il est maintenant possible de changer de thème sans redémarrer l'IDE. Cela peut se faire lorsque vous choisissez un thème préinstallé, mais aussi juste après en avoir téléchargé un nouveau.
  • Plusieurs améliorations du traitement des événements et des fichiers ignorés ont permis d'accélérer la mise à jour du statut des systèmes de contrôle dans PyCharm 2019.3.
  • Nous avons apporté des modifications au rendu de l'éditeur et le défilement à travers de longs fichiers est beaucoup plus fluide.

Prise en charge des bases de données Pro uniquement

Prise en charge de MongoDB

Prise en charge de MongoDB

Vous créez une application sur MongoDB ? Dans ce cas, vous serez ravi d'apprendre que vous pouvez maintenant parcourir vos collections MongoDB dans PyCharm. Connectez votre base de données en ajoutant une source de données depuis la fenêtre d'outils de base de données (View | Tool Windows | Database). PyCharm Professional Edition propose toutes les fonctionnalités de base de données de DataGrip, l'IDE SQL professionnel créé par JetBrains.

Fonctionnalités de l'IDE

Paramétrage des configurations d'exécution

Paramétrage des configurations d'exécution

Lorsque vous créez une application de ligne de commandes, il est généralement pratique de pouvoir modifier rapidement les arguments. Vous pouvez bien sûr toujours accéder à 'Edit Configuration' pour les modifier, mais il existe désormais un meilleur moyen : grâce à la nouvelle fonction run configuration macros (variables), vous pouvez paramétrer PyCharm pour qu'il vous invite à saisir la valeur à chaque fois que vous lancez votre application.

Chercher dans la sélection

Chercher dans la sélection

Vous souhaitez connaître la fréquence d'occurence d'un texte dans une section de votre fichier ? L'action Find cible désormais votre sélection en priorité. Vous voulez chercher partout ? Appuyez à nouveau sur Ctrl-F pour étendre votre recherche au reste du fichier.

Autres améliorations

  • Si une partie de votre application est écrite en JavaScript, il y a des chances que vous utilisiez des modèles Handlebars quelque part. Si vous avez installé l'extension Handlebars, vous pouvez désormais activer l'intelligence du code Handlebars dans n'importe quelle chaîne Python. Appuyez simplement sur Alt-Entrée dans votre chaîne, choisissez « Inject language or reference », et indiquez « Handlebars ».

Contrôle de version

Amélioration de la comparaison avec la branche actuelle

Amélioration de la comparaison avec la branche actuelle

Plus vous avez de branches, plus il est difficile de garder la trace des différences entre chacune d'elles. Dans la nouvelle version de PyCharm, la fonctionnalité de comparaison des branches, relookée, vous offre un aperçu rapide des commits qui font la différence entre deux branches.

Amélioration de l'interface utilisateur pour cloner un référentiel

Amélioration de l'interface utilisateur pour cloner un référentiel

Quel que soit le type de dépôt que vous utilisez, nous proposons à présent un emplacement unique de départ pour extraire un nouveau projet.

Autres améliorations

  • Lors de l'extraction d'une branche distance, vous souhaitez généralement créer une branche locale pour opérer un suivi de la branche distante. Dans PyCharm 2019.3, une action 'checkout' unique vous assure de pourvoir consulter l'état actuel de la branche distante, sans risquer de perdre l'un de vos commits locaux.
  • PyCharm a toujours eu la capacité d'effectuer un push de la branche actuellement extraite. Parfois, vous pouvez avoir besoin d'effectuer un push d'une autre branche, et désormais, vous n'avez plus besoin de l'extraire d'abord.

Développement web Pro uniquement

Classes CSS depuis un CDN

Classes CSS depuis un CDN

Vous utilisez une feuille de style provenant d'un CDN ? Vous pouvez maintenant télécharger une version de cette feuille de style pour une utilisation spécifique de saisie automatique de code.

Consulter les valeurs renvoyées par les méthodes lors du débogage de JavaScript

Consulter les valeurs renvoyées par les méthodes lors du débogage de JavaScript

Tout comme le débogueur Python, le débogueur JavaScript peut maintenant vous montrer les valeurs renvoyées des méthodes que vous appelez. Pour afficher les valeurs de retour, cliquez sur l'icône engrenage dans le débogueur et activez 'Show Return Values'.

Autres améliorations

  • Configurez les paramètres de style CSS pour forcer l'utilisation d'apostrophes simples ou doubles en guise de guillemets.
  • Que vous utilisiez des apostrophes simples ou doubles dans votre CSS, PyCharm peut désormais vous aider à maintenir la cohérences de vos guillemets. Vous pouvez les configurer dans Settings | Editor | Code Style | Style Sheets | CSS, dans l'onglet 'Other'.
  • Vous utilisez des composants React qui n'ont pas de propTypes définis ? PyCharm peut désormais inférer les props et vous proposer une saisie semi-automatique pour les composants qui n'ont pas de propTypes définis.