Partager via


Modifier le code Python et utiliser IntelliSense

Étant donné que vous passez beaucoup de temps de développement dans l’éditeur de code, la prise en charge de Python dans Visual Studio fournit des fonctionnalités pour vous aider à être plus productif. Les fonctionnalités incluent la mise en surbrillance de la syntaxe IntelliSense, la saisie automatique, l’aide de signature, les remplacements de méthode, la recherche et la navigation.

L’éditeur de code est intégré à la fenêtre Interactive dans Visual Studio. Au fur et à mesure que vous travaillez, il est facile d’échanger du code entre les deux fenêtres. Pour plus d’informations, consultez l’étape 3 du didacticiel : Utiliser la fenêtre REPL interactive et utiliser la fenêtre Interactive - Envoyer à la commande Interactive.

Le plan vous aide à rester concentré sur des sections particulières de votre code. Pour obtenir une documentation générale sur la modification du code dans Visual Studio, consultez Fonctionnalités de l’éditeur de code.

Visual Studio Object Browser vous permet d’inspecter les classes Python définies dans chaque module et les fonctions définies dans ces classes. Vous pouvez accéder à cette fonctionnalité dans le menu Affichage ou à l’aide du raccourci clavier Ctrl Alt++J.

Utiliser les fonctionnalités IntelliSense

IntelliSense fournit les suggestions de code, une aide sur la signature, des informations rapides et la coloration du code. Visual Studio 2017 versions 15.7 et ultérieures prennent également en charge les indicateurs de type.

Pour améliorer les performances, IntelliSense dans Visual Studio 2017 version 15.5 et antérieure dépend d’une base de données d’achèvement générée pour chaque environnement Python de votre projet. Vous devrez peut-être actualiser votre base de données si vous ajoutez, supprimez ou mettez à jour des packages. L’état de la base de données s’affiche dans la fenêtre Environnements Python (compagnon de l’Explorateur de solutions) sous l’onglet IntelliSense . Pour plus d’informations, consultez la référence de la fenêtre Environnements.

Visual Studio 2017 version 15.6 et ultérieure utilise un autre moyen de fournir des achèvements IntelliSense qui ne dépendent pas de la base de données.

Complétions

Les complétions apparaissent sous forme de déclarations, d’identificateurs et d’autres mots qui peuvent être correctement insérés à l’endroit actuel de l’éditeur. IntelliSense remplit la liste des options en fonction du contexte et filtre des éléments incorrects ou distraits. Les complétions sont souvent déclenchées en entrant différentes instructions (telles que import) et des opérateurs (y compris un point), mais elles peuvent apparaître à tout moment en utilisant le raccourci clavier Ctrl+J +Espace.

Capture d’écran montrant la complétion automatique des membres avec la fonctionnalité d'IntelliSense dans l’éditeur Visual Studio.

Lorsqu’une liste de saisie semi-automatique est ouverte, vous pouvez rechercher l’achèvement souhaité à l’aide des touches de direction, de la souris ou en continuant à taper. Lorsque vous tapez plus de lettres, la liste est filtrée pour afficher les achèvements probables. Vous pouvez également utiliser des raccourcis tels que :

  • Tapez des lettres qui ne sont pas au début du nom, telles que « parse » pour rechercher « argparse »
  • Tapez uniquement des lettres au début des mots, telles que « abc » pour rechercher « AbstractBaseClass » ou « air » pour trouver « as_integer_ratio »
  • Ignorez les lettres, telles que « b64 » pour rechercher « base64 ».

Voici quelques exemples :

Capture d’écran qui montre la complétion des membres avec filtrage dans l’éditeur Visual Studio.

Les achèvements de membre apparaissent automatiquement lorsque vous tapez une période après une variable ou une valeur, ainsi que les méthodes et les attributs des types potentiels. Si une variable peut être plusieurs types, la liste inclut toutes les possibilités de tous les types. Des informations supplémentaires s’affichent pour indiquer quels types prennent en charge chaque achèvement. Lorsque tous les types possibles prennent en charge un achèvement, aucune annotation n’est affichée.

Capture d’écran montrant la complétion des membres sur différents types dans l’éditeur Visual Studio.

Par défaut, les membres « dunder » (membres commençant et se terminant par un trait de soulignement double) ne sont pas affichés. En général, ces membres ne doivent pas être accessibles directement. Si vous devez utiliser un dunder, tapez le trait de soulignement double de début pour ajouter ces achèvements à la liste :

Capture d’écran montrant les types d’achèvement de membre dunder privés dans l’éditeur Visual Studio.

Les instructions import et from ... import affichent une liste de modules pouvant être importés. L’instruction from ... import produit une liste qui inclut des membres qui peuvent être importés à partir du module spécifié.

Capture d’écran montrant l'import et l'achèvement de l'import depuis dans l'éditeur Visual Studio.

Les instructions raise et except affichent des listes de classes susceptibles d’être des types d’erreurs. La liste peut ne pas inclure toutes les exceptions définies par l’utilisateur, mais elle vous aide à trouver rapidement les exceptions intégrées appropriées :

Capture d’écran montrant la complétion d’exception dans l’éditeur Visual Studio.

La sélection du symbole @ (@) démarre un décorateur et affiche des décorateurs potentiels. Bon nombre de ces éléments ne sont pas utilisables en tant que décorateurs. Consultez la documentation de la bibliothèque pour déterminer le décorateur à utiliser.

Capture d’écran montrant la complétion de décorateur dans l’éditeur Visual Studio.

Pour plus d’informations, consultez Options - résultats de complétion.

Indicateurs de type

Les indicateurs de type sont disponibles dans Visual Studio 2017 version 15.7 et ultérieures.

« Indicateurs de type » dans Python 3.5+ (PEP 484 (python.org) est une syntaxe d’annotation pour les fonctions et les classes qui indiquent les types d’arguments, de valeurs de retour et d’attributs de classe. IntelliSense affiche des indicateurs de type lorsque vous pointez sur les appels de fonctions, les arguments et les variables qui ont ces annotations.

Dans l’exemple suivant, la Vector classe est déclarée comme type List[float], et la scale fonction contient des indicateurs de type pour ses arguments et sa valeur de retour. Le pointage sur un appel à cette fonction affiche les indicateurs de type :

Capture d’écran montrant comment pointer sur un appel de fonction pour révéler des indicateurs de type.

Dans l’exemple suivant, vous pouvez voir comment les attributs annotés de la classe Employee apparaissent dans la fenêtre IntelliSense de saisie semi-automatique pour un attribut.

Capture d’écran montrant l'autocomplétion IntelliSense pour une classe avec des annotations de type.

Il est également utile de valider les indicateurs de type dans votre projet, car les erreurs ne s’affichent normalement qu’au moment de l’exécution. À cet effet, Visual Studio intègre l’outil Mypy standard du secteur via la commande de menu contextuel Python>Exécuter Mypy dans l’Explorateur de solutions :

Capture d’écran montrant les commandes de linting disponibles pour les projets Python dans l’Explorateur de solutions.

L’exécution de la commande vous invite à installer le package Mypy, si nécessaire. Visual Studio exécute ensuite Mypy pour valider les indicateurs de type dans chaque fichier Python du projet. Les erreurs s’affichent dans la fenêtre Liste d’erreurs Visual Studio. La sélection d’un élément dans la fenêtre accède à la ligne appropriée dans votre code.

Par exemple, la définition de fonction suivante contient un indicateur de type pour indiquer que l’argument input est de type str, tandis que l’appel à cette fonction tente de passer un entier :

def commas_to_colons(input: str):
    items = input.split(',')
    items = [x.strip() for x in items]
    return ':'.join(items)

commas_to_colons(1)

L’utilisation de la commande Exécuter Mypy sur ce code génère l’erreur suivante :

Capture d’écran montrant l’exemple de résultat des indicateurs de type de validation Mypy.

Note

Pour les versions de Python antérieures à la version 3.5, Visual Studio affiche également des indicateurs de type que vous fournissez via des fichiers stub typeshed (.pyi). Vous pouvez utiliser des fichiers stub lorsque vous ne souhaitez pas inclure d’indicateurs de type directement dans votre code ou pour créer des indicateurs de type pour une bibliothèque qui ne les utilise pas directement. Pour plus d’informations, consultez Créer des stubs pour les modules Python dans le wiki du projet Mypy.

Visual Studio ne prend actuellement pas en charge les indicateurs de type dans les commentaires.

Assistance pour la signature

Lors de l’écriture de code qui appelle une fonction, l’aide de signature s’affiche lorsque vous tapez la parenthèse ouvrante (. Il affiche la documentation disponible et les informations sur les paramètres. Vous pouvez accéder à l'aide à la signature avec le raccourci clavier Ctrl+Maj+Espace à l'intérieur d'un appel de fonction. Les informations affichées dépendent des chaînes de documentation dans le code source de la fonction, mais incluent toutes les valeurs par défaut.

Capture d’écran montrant l’aide de signature dans l’éditeur Visual Studio.

Conseil / Astuce

Pour désactiver l’aide sur la signature, accédez à Outils>Options>Éditeur>de textePython>Général. Désactivez la case à cocher Saisie semi-automatique de l'instruction>Informations sur les paramètres.

Informations rapides

En survolant un identificateur avec le pointeur de la souris, une info-bulle rapide s'affiche. Selon l’identificateur, les informations rapides peuvent afficher les valeurs ou types potentiels, toute documentation disponible, les types de retour et les emplacements de définition :

Capture d’écran montrant l'affichage des informations rapides dans l’éditeur Visual Studio.

Coloration du code

La coloration du code utilise des informations d’analyse du code pour colorer des variables, des instructions et d’autres parties de votre code. Les variables qui font référence à des modules ou des classes peuvent être affichées dans une couleur différente des fonctions ou d’autres valeurs. Les noms de paramètres peuvent apparaître dans une couleur différente de celle des variables locales ou globales. Par défaut, les fonctions ne sont pas affichées en gras.

Capture d’écran montrant la coloration du code et de la syntaxe dans l’éditeur Visual Studio.

Pour personnaliser les couleurs, accédez à Outils>Options>Environnement>Polices et couleurs. Dans la liste Des éléments d’affichage , modifiez les entrées Python souhaitées :

Capture d’écran montrant les options Polices et Couleurs dans Visual Studio.

Insérer des extraits de code

Les extraits de code sont des fragments de code qui peuvent être insérés dans vos fichiers à l’aide d’un raccourci clavier et en sélectionnant Tab. Vous pouvez également utiliser les commandes Modifier>l’extrait de code d’insertion> et entourer les commandes, sélectionner Python, puis sélectionner l’extrait de code souhaité.

Par exemple, class est un raccourci pour un extrait de code qui insère une définition de classe. L’extrait de code apparaît dans la liste de saisie automatique lorsque vous tapez class:

Capture d’écran montrant un extrait de code pour le raccourci de classe.

La sélection de Tab génère le reste de la classe. Vous pouvez ensuite saisir le nom et la liste des bases, vous déplacer entre les champs mis en surbrillance avec Tab, puis sélectionner Entrée pour commencer à taper le corps.

Capture d’écran montrant les points forts sur les zones d’un extrait de code pour vous permettre de terminer.

Lorsque vous utilisez la commande Insérer un extrait de code>IntelliSense>, vous sélectionnez d'abord Python, puis l’extrait de code souhaité :

Capture d’écran montrant comment sélectionner un extrait de code via la commande Insérer un extrait de code.

La commande Edit>IntelliSense>Surround With place la sélection actuelle dans l’éditeur de texte à l’intérieur d’un élément structurel choisi. Supposons que vous disposiez d’un élément de code comme dans l’exemple suivant :

sum = 0
for x in range(1, 100):
    sum = sum + x

La sélection de ce code et le choix de la commande Surround With affiche une liste d’extraits de code disponibles. Le choix de la valeur def dans la liste d’extraits de code place le code sélectionné dans une définition de fonction. Vous pouvez utiliser la touche Tab pour naviguer entre le nom de la fonction en surbrillance et les arguments :

Capture d’écran montrant comment utiliser la commande Surround With pour les extraits de code.

Examiner les extraits de code disponibles

Vous pouvez voir les extraits de code disponibles dans le Gestionnaire des extraits de code. Accédez à cette fonctionnalité à partir duGestionnaire d’extraits de code> et sélectionnez Python comme langage :

Capture d’écran montrant le Gestionnaire d’extraits de code dans Visual Studio.

Pour créer vos propres extraits de code, consultez Procédure pas à pas : Créer un extrait de code.

Si vous écrivez un excellent extrait de code que vous souhaitez partager, n’hésitez pas à le publier dans un gist et faites-nous savoir. Nous pourrions être en mesure de l’inclure dans une prochaine version de Visual Studio.

La prise en charge de Python dans Visual Studio offre plusieurs façons de naviguer rapidement dans votre code, y compris les bibliothèques pour lesquelles le code source est disponible. Vous pouvez trouver des bibliothèques avec du code source pour la barre de navigation, Atteindre la définition, Atteindre et Rechercher toutes les références. Vous pouvez également utiliser l’Explorateur d’objets Visual Studio.

La barre de navigation s’affiche en haut de chaque fenêtre de l’éditeur et inclut une liste à deux niveaux de définitions. La liste déroulante gauche contient des définitions de classe et de fonction de niveau supérieur dans le fichier actif. La liste déroulante de droite affiche une liste de définitions dans le cadre de ce qui est affiché à gauche. Lorsque vous vous déplacez dans l’éditeur, les listes sont mises à jour pour afficher votre contexte actuel et vous pouvez également sélectionner une entrée dans ces listes pour accéder directement à ces listes.

capture d’écran montrant la barre de navigation dans l’éditeur Visual Studio.

Conseil / Astuce

Pour masquer la barre de navigation, accédez àl’Éditeur de texte>>>>Général et désactivez labarre de navigation>.

Accéder à la définition

La commande Atteindre la définition passe rapidement de l’utilisation d’un identificateur (par exemple, un nom de fonction, une classe ou une variable) à l’emplacement de la définition de code source. Pour appeler la commande, cliquez avec le bouton droit sur un identificateur, puis sélectionnez Atteindre la définition ou placez le point d’insertion dans l’identificateur, puis sélectionnez F12. La commande fonctionne dans votre code et vos bibliothèques externes où le code source est disponible. Si le code source de la bibliothèque n’est pas disponible, Go To Definition passe à l’instruction appropriée import pour une référence de module ou affiche une erreur.

Capture d’écran montrant la commande Atteindre la définition dans Visual Studio.

Aller à

La commande Modifier>Aller à (Ctrl+,) affiche une zone de recherche dans l'éditeur où vous pouvez taper n'importe quelle chaîne et voir les correspondances possibles dans votre code définissant une fonction, une classe ou une variable contenant cette chaîne. Cette fonctionnalité offre une capacité similaire à Go To Definition, mais sans être obligé de localiser une utilisation d'un identificateur.

Pour accéder à la définition de cet identificateur, double-cliquez sur n’importe quel nom ou sélectionnez le nom avec les touches de direction suivies d’Entrée.

Une capture d’écran montrant la commande Atteindre dans Visual Studio.

Rechercher toutes les références

La fonctionnalité Rechercher toutes les références est un moyen utile de découvrir où un identificateur donné est défini et utilisé, y compris les importations et les affectations. Pour appeler la commande, faites un clic droit sur un identificateur et sélectionnez Rechercher toutes les références, ou placez le curseur dans l’identificateur, puis appuyez sur Maj+F12. Double-cliquez sur un élément dans la liste pour accéder à son emplacement.

Capture d’écran montrant les résultats Rechercher toutes les références dans Visual Studio.