Modification de code PythonEditing Python code

Comme les développeurs passent beaucoup de temps dans l’éditeur de code, la prise en charge de Python dans Visual Studio fournit plusieurs fonctionnalités pour améliorer la productivité.Developers spend much of their time in the code editor, so Python support in Visual Studio provides functionality to help you be more productive. Ces fonctionnalités comprennent la mise en surbrillance de la syntaxe IntelliSense, la saisie semi-automatique, l’aide de signature, les substitutions de méthode, la recherche et la navigation.Features include IntelliSense syntax highlighting, auto-completion, signature help, method overrides, search, and navigation.

L’éditeur est également intégré à la fenêtre interactive dans Visual Studio, ce qui facilite l’échange de code entre les deux.The editor is also integrated with the interactive window in Visual Studio, making it easy to exchange code between the two. Pour plus d’informations, consultez Étape 3 du didacticiel : Utilisation de la fenêtre REPL interactive et Utilisation de la fenêtre REPL interactive - Envoi de code à la commande interactive.See Tutorial Step 3: Using the interactive REPL window and Using the interactive window - Send code to interactive command for details.

Icône représentant une caméra pour les vidéosmovie camera icon for video Regardez une vidéo (Microsoft Virtual Academy) pour obtenir une démonstration de la modification du code Python (2 min30s).Watch a video (Microsoft Virtual Academy) for a demonstration of editing Python code (2m 30s).

Consultez Écriture de code dans l’éditeur de code et de texte pour vous documenter sur la modification de code dans Visual Studio.For general documentation on editing code in Visual Studio, see Writing Code in the Code and Text Editor. Consultez également Mode Plan, qui vous permet de rester concentré sur certaines sections de votre code.Also see Outlining in Visual Studio, which helps you stay focused on particular sections of your code.

Vous pouvez également utiliser l’Explorateur d’objets de Visual Studio (Affichage > Autres fenêtres > Explorateur d’objets ou Ctrl+W, J) pour l’inspection des classes Python définies dans chaque module et les fonctions définies dans ces classes.You can also use the Visual Studio Object Browser (View > Other Windows > Object Browser or Ctrl+W,J) for inspecting Python classes defined in each module and the functions defined in those classes.

IntelliSenseIntelliSense

IntelliSense fournit les saisies semi-automatiques, l’assistance pour la signature, Info express et la coloration du code.IntelliSense provides completions, signature help, quick info, and code coloring.

Pour améliorer le niveau de performance, IntelliSense dans Visual Studio 2017 version 15.5 et versions antérieures dépend d’une base de données de saisie semi-automatique qui est générée pour chaque environnement Python dans votre projet.To improve performance, IntelliSense in Visual Studio 2017 version 15.5 and earlier depends on a completion database that's generated for each Python environment in your project. Il est possible que les bases de données doivent être actualisées si vous ajoutez, supprimez ou mettez à jour des packages.Databases may need refreshing if you add, remove, or update packages. Leur état s’affiche sur l’onglet IntelliSense de la fenêtre Environnements Python (de la même famille que l’Explorateur de solutions) (consultez Référence sur la fenêtre Environnements).Database status is shown in the Python Environments window (a sibling of Solution Explorer) on the IntelliSense tab (see Environments window reference).

Visual Studio 2017 versions 15.6 et ultérieures utilise un autre moyen pour fournir les saisies semi-automatiques IntelliSense qui ne dépendent pas de la base de données.Visual Studio 2017 version 15.6 and later uses a different means to provide IntelliSense completions that are not dependent on the database.

Saisies semi-automatiquesCompletions

Les saisies semi-automatiques s’affichent sous forme d’instructions, d’identificateurs et d’autres mots qui peuvent tout à fait être saisis à l’emplacement actuel dans l’éditeur.Completions appear as statements, identifiers, and other words that may be appropriately entered at the current location in the editor. Ce qui apparaît dans la liste est basé sur le contexte et est filtré pour omettre les options inappropriées ou inexactes.What's shown in the list is based on context and is filtered to omit incorrect or distracting options. Les saisies semi-automatiques sont souvent déclenchées en tapant diverses instructions (comme import) et différents opérateurs (dont un point), mais vous pouvez les afficher à tout moment en tapant la séquence suivante : Ctrl+J, espace.Completions are often triggered by typing different statements (such as import) and operators (including a period), but you can have them appear at anytime by typing Ctrl-J, Space.

Saisie semi-automatique de membres

Lorsqu’une liste de saisies semi-automatiques est ouverte, vous pouvez rechercher la proposition que vous souhaitez grâce aux touches de direction, à la souris ou en continuant de taper.When a completion list is open, you can search for the completion you want using the arrow keys, the mouse, or by continuing to type. À mesure que vous tapez, la liste est filtrée pour afficher les propositions les plus probables.As you type more letters, the list is further filtered to show likely completions. Vous pouvez également utiliser des raccourcis tels que :You can also use shortcuts such as:

  • Taper des lettres qui ne sont pas au début du nom, tel que « parse » pour rechercher « argparse ».Typing letters that are not at the start of the name, such as 'parse' to find 'argparse'
  • Taper uniquement des lettres qui sont au début des mots, tel que « abc » pour rechercher « AbstractBaseClass » ou « air » pour rechercher « as_integer_ratio ».Typing only letters that are at the start of words, such as 'abc' to find 'AbstractBaseClass' or 'air' to find 'as_integer_ratio'
  • Ignorer des lettres, tel que « b64 » pour rechercher « base64 ».Skipping letters, such as 'b64' to find 'base64'

Voici quelques exemples :Some examples:

Saisie semi-automatique de membres avec filtrage

Les saisies semi-automatiques de membres apparaissent automatiquement quand vous tapez un point après une variable ou une valeur, ainsi que les méthodes et attributs des types potentiels.Member completions appear automatically when you type a period after a variable or value, along with the methods and attributes of the potential types. Si une variable peut être plus d’un type, la liste inclut toutes les possibilités de tous les types, avec des informations supplémentaires pour indiquer quels types prennent en charge chaque proposition.If a variable could be more than one type, the list includes all possibilities from all types, with extra information to indicate which types support each completion. Lorsqu’une saisie semi-automatique est prise en charge par tous les types possibles, elle est affichée sans annotation.Where a completion is supported by all possible types, it is shown without annotation.

Saisie semi-automatique de membres sur plusieurs types

Par défaut, les membres commençant et se terminant par un trait de soulignement double ne sont pas affichés.By default, "dunder" members (members beginning and ending with a double underscore) are not shown. En règle générale, vous ne devez pas accéder à ces membres directement.In general, such members should not be accessed directly. Toutefois, si vous en avez besoin, la saisie du trait de soulignement double de début permet d’ajouter ces saisies semi-automatiques à la liste :If you need one, however, typing the leading double underscore adds these completions to the list:

Saisie semi-automatique de membres privés

Les instructions import et from ... import affichent une liste des modules qui peuvent être importés.The import and from ... import statements display a list of modules that can be imported. Dans le cas de from ... import, la liste inclut les membres qui peuvent être importés à partir du module spécifié.With from ... import, the list includes members that can be imported from the specified module.

Importation de saisie semi-automatique

Les instructions raise et except affichent les listes des classes susceptibles d’être des types d’erreurs.The raise and except statements display lists of classes likely to be error types. Les exceptions définies par l’utilisateur peuvent ne pas toutes faire partie de cette liste, mais elle vous permet de trouver les exceptions intégrées appropriées rapidement :The list may not include all user-defined exceptions, but helps you find suitable built-in exceptions quickly:

Saisie semi-automatique d’exceptions

Taper @ lance un décorateur et affiche les décorateurs potentiels.Typing @ starts a decorator and shows potential decorators. La plupart de ces éléments ne sont pas utilisables en tant que décorateurs ; consultez la documentation de la bibliothèque pour déterminer lequel utiliser.Many of these items aren't usable as decorators; check the library documentation to determine which to use.

Saisie semi-automatique de décorateurs

Conseil

Vous pouvez configurer le comportement des saisies semi-automatiques via Outils > Options > Éditeur de texte > Python > Avancé.You can configure the behavior of completions through Tools > Options > Text Editor > Python > Advanced". Parmi les options proposées, Filter list based on search string (Filtrer la liste en fonction de la chaîne de recherche) applique un filtre aux propositions de saisie semi-automatique à mesure que vous tapez (option sélectionnée par défaut) et Member completion displays intersection of members (La saisie semi-automatique de membres affiche l’intersection des membres) affiche uniquement les saisies semi-automatiques prises en charge par tous les types possibles (option non sélectionnée par défaut).Among these, Filter list based on search string: applies filtering of completion suggestions as you type (default is checked), and Member completion displays intersection of members shows only completions that are supported by all possible types (default is unchecked). Consultez Options - Résultats de la saisie semi-automatique.See Options - completion results.

Assistance pour la signatureSignature help

Quand vous écrivez du code qui appelle une fonction, l’aide de signature apparaît lorsque vous tapez le caractère ( ouvrant et affiche les informations sur le paramètre et la documentation disponibles.When writing code that calls a function, signature help appears when you type the opening ( and displays available documentation and parameter information. Vous pouvez également les faire apparaître avec Ctrl + Maj + Espace à l’intérieur d’un appel de fonction.You can also make it appear with Ctrl+Shift+Space inside a function call. Les informations affichées dépendent des chaînes de documentation du code source de la fonction, mais elles incluent toutes les valeurs par défaut.The information displayed depends on the documentation strings in the function's source code, but includes any default values.

Assistance pour la signature

Conseil

Pour désactiver l’assistance pour la signature, accédez à Outils > Options > Éditeur de texte > Python > Général et désactivez Saisie semi-automatique des instructions > Informations sur les paramètres.To disable signature help, go to Tools > Options > Text Editor > Python > General and clear Statement completion > Parameter information.

Info expressQuick info

Placer le pointeur de la souris sur un identificateur permet d’afficher une info-bulle Info express.Hovering the mouse pointer over an identifier displays a Quick Info tooltip. En fonction de l’identificateur, Info express peut afficher les valeurs ou les types potentiels, la documentation disponible, les types de retour et les emplacements de définition :Depending on the identifier, Quick Info may display the potential values or types, any available documentation, return types and, definition locations:

Info express

Coloration du codeCode coloring

La coloration du code utilise les informations issues de l’analyse du code pour les variables de couleurs, les instructions et d’autres parties de votre code.Code coloring uses information from code analysis to colors variables, statements, and other parts of your code. Par exemple, 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, et les noms de paramètres s’affichent dans une couleur différente des variables locales ou globales.For example, variables that refer to modules or classes may be shown in a different color than functions or other values, and parameter names appear in a different color than local or global variables. (Par défaut, les fonctions ne sont pas affichées en gras) :(By default, functions are not shown in bold):

Coloration du code

Pour personnaliser les couleurs, accédez à Outils > Options > Environnement > Polices et couleurs et modifiez les entrées de Python dans la liste Afficher les éléments :To customize the colors, go to Tools > Options > Environment > Fonts and Colors and modify the Python entries in the Display items list:

Options Polices et couleurs

Conseil

Pour désactiver la coloration du code, accédez à Outils > Options > Éditeur de texte > Python > Avancé et désactivez Options diverses > Color names based on type (Colorer les noms en fonction du type).To disable code coloring, go to Tools > Options > Text Editor > Python > Advanced and clear Miscellaneous Options > Color names based on type. Consultez Options - Options diverses.See Options - Miscellaneous Options.

Extraits de codeCode snippets

Les extraits de code sont des fragments de code qui peuvent être insérés dans vos fichiers en tapant un raccourci et en appuyant sur la touche de tabulation ou à l’aide des commandes Modifier > IntelliSense > Insérer un extrait de code et Entourer de, en sélectionnant Python, puis en sélectionnant l’extrait de code requis.Code snippets are fragments of code that can be inserted into your files by typing a shortcut and pressing Tab, or using the Edit > IntelliSense > Insert Code Snippet and Surround With commands, selecting Python, then selecting the desired snippet.

Par exemple, class est un raccourci pour un extrait de code qui insère une définition de classe.For example, class is a shortcut for a code snippet that inserts a class definition. L’extrait de code s’affiche dans la liste de saisie semi-automatique lorsque vous tapez class :You see the snippet appear in the auto-completion list when you type class:

Raccourci d’extrait de code pour la classe

Appuyez sur Tab générer le reste de la classe.Pressing Tab generates the rest of the class. Vous pouvez ensuite taper le nom et la liste de bases, passer d’un champ en surbrillance à l’autre avec la touche de tabulation, puis appuyer sur Entrée pour commencer à taper le corps du texte.You can then type over the name and bases list, moving between the highlighted fields with Tab, then press Enter to begin typing the body.

Mise en évidence des zones d’un extrait de code que vous devez remplir

Lorsque vous utilisez la commande de menu Modifier > IntelliSense > Insérer un extrait de code, sélectionnez d’abord « Python », puis sélectionnez un extrait de code :When you use the Edit > IntelliSense > Insert Code Snippet menu command, you first select "Python", then select a snippet:

Sélection d’un extrait de code via la commande Insérer un extrait de code

De la même façon, la commande Modifier > IntelliSense > Entourer de place la sélection actuelle dans l’éditeur de texte au sein d’un élément structurel choisi.The Edit > IntelliSense > Surround With command, similarly, places the current selection in the text editor inside a chosen structural element. Par exemple, supposons que vous ayez un peu de code comme suit :For example, suppose you had a bit of code like the following:

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

Le fait de sélectionner ce code et de choisir la commande Entourer de affiche la liste des extraits de code disponibles.Selecting this code and choosing the Surround With command displays a list of available snippets. Le fait de choisir def dans la liste place le code sélectionné au sein d’une définition de fonction et vous pouvez utiliser la touche Tab pour naviguer entre le nom et les arguments de la fonction sélectionnée :Choosing def from the list places the selected code within a function definition, and you can use the Tab key to navigate between the highlighted function name and arguments:

Utilisation de la commande Entourer de pour les extraits de code

Examiner les extraits de code disponiblesExamine available snippets

Vous pouvez voir les extraits de code disponibles dans le Gestionnaire des extraits de code, que vous ouvrez avec la commande de menu Outils > Gestionnaire des extraits de code et en sélectionnant Python comme langage :You can see the available code snippets in the Code Snippets Manager, opened by using Tools > Code Snippets Manager menu command and selecting Python as the language:

Gestionnaire des extraits de code

Pour créer vos propres extraits de code, consultez Procédure pas à pas : création d’un extrait de code.To create your own snippets, see Walkthrough: Creating a Code Snippet.

Si vous écrivez un extrait de code de qualité et que vous souhaitez le partager, n’hésitez pas à le publier dans un contenu Gist et informez-nous.If you write a great code snippet that you'd like to share, feel free to post it in a gist and let us know. Nous pourrons peut-être l’ajouter dans une prochaine version de Visual Studio.We may be able to include it in a future release of Visual Studio.

La prise en charge de Python dans Visual Studio fournit plusieurs options pour naviguer rapidement dans votre code, notamment des bibliothèques pour lesquelles le code source est disponible : la barre de navigation, Atteindre la définition, Naviguer vers et Rechercher toutes les références.Python support in Visual Studio provides several means to quickly navigate within your code, including libraries for which source code is available: the navigation bar, Go To Definition, Navigate To, and Find All References. Vous pouvez également utiliser l’Explorateur d’objets de Visual Studio.You can also use the Visual Studio Object Browser.

La barre de navigation s’affiche en haut de chaque fenêtre de l’éditeur et inclut une liste de définitions à deux niveaux.The navigation bar is displayed at the top of each editor window and includes a two-level list of definitions. La liste déroulante de gauche contient des définitions de fonction et de classe de niveau supérieur du fichier actuel. La liste déroulante de droite affiche une liste de définitions dans l’étendue illustrée à gauche.The left drop-down contains top-level class and function definitions in the current file; the right drop-down displays a list of definitions within the scope shown in the left. À mesure de vos déplacements dans l’éditeur, les listes sont mises à jour pour afficher votre contexte actuel. En outre, vous pouvez sélectionner une entrée à partir de ces listes pour y accéder directement.As you move around in the editor, the lists update to show your current context, and you can also select an entry from these lists to jump directly to in.

Barre de navigation

Conseil

Pour masquer la barre de navigation, accédez à Outils > Options > Éditeur de texte > Python > Général et désactivez Paramètres > Barre de navigation.To hide the navigation bar, go to Tools > Options > Text Editor > Python > General and clear Settings > Navigation bar.

Atteindre la définitionGo To Definition

Atteindre la définition permet de passer rapidement de l’utilisation d’un identificateur (p. ex. un nom de fonction, une classe ou une variable) au code source dans lequel il est défini.Go To Definition quickly jumps from the use of an identifier (such as a function name, class, or variable), to the source code where it's defined. Pour l’appeler, vous devez cliquer avec le bouton droit sur un identificateur et sélectionner Atteindre la définition ou placer le signe insertion dans l’identificateur et appuyer sur F12.You invoke it by right-clicking an identifier and selecting Go To Definition or, by placing the caret in the identifier and pressing F12. Cela fonctionne dans l’ensemble de votre code et des bibliothèques externes sous réserve que ce code source soit disponible.It works across your code and external libraries provided that source code is available. Si le code source de la bibliothèque n’est pas disponible, Atteindre la définition passe à l’instruction import appropriée pour une référence de module ou affiche une erreur.If library source code is not available, Go To Definition jumps to the relevant import statement for a module reference, or display an error.

Atteindre la définition

La commande Modifier > Naviguer vers... (Ctrl-virgule) affiche une zone de recherche dans l’éditeur dans laquelle vous pouvez taper n’importe quelle chaîne et voir les correspondances possibles dans votre code qui définit une fonction, une classe ou une variable contenant cette chaîne.The Edit > Navigate To... command (Ctrl-comma) displays a search box in the editor where you can type any string and see possible matches in your code that defines a function, class, or variable containing that string. Cette fonctionnalité permet de bénéficier d’une fonction similaire à Atteindre la définition, mais sans avoir à localiser une utilisation d’un identificateur.This feature provides a similar capability as Go To Definition but without having to locate a use of an identifier.

Double-cliquer sur un nom ou sélectionner des touches de direction et Entrée permet d’accéder à la définition de cet identificateur.Double-clicking any name, or selecting with arrow keys and Enter, navigates to the definition of that identifier.

Boîte de dialogue Naviguer vers

Rechercher toutes les référencesFind All References

Rechercher toutes les références est une option utile pour déterminer où un identificateur donné est à la fois défini et utilisé, y compris les importations et les affectations.Find All References is a helpful way of discovering where any given identifier is both defined and used, including imports and assignments. Pour l’appeler, vous devez cliquer avec le bouton droit sur un identificateur et sélectionner Rechercher toutes les références ou placer le signe insertion dans l’identificateur et appuyer sur Maj+F12.You invoke it by right-clicking an identifier and selecting Find All References, or by placing the caret in the identifier and pressing Shift+F12. Double-cliquer sur un élément de la liste permet d’accéder à son emplacement.Double-clicking an item in the list navigates to its location.

Résultats de Rechercher toutes les références

Voir aussiSee also