Partage via


Utiliser la fenêtre interactive Python dans Visual Studio

Visual Studio fournit une fenêtre interactive de boucle de lecture-évaluation-impression (REPL) pour chacun de vos environnements Python, ce qui améliore la boucle REPL que vous obtenez avec la commande python.exe sur la ligne de commande. La fenêtre interactive Python vous permet d’entrer du code Python arbitraire et d’afficher des résultats immédiats. Cette approche du codage vous permet d’apprendre et d’expérimenter des API et des bibliothèques et de développer de manière interactive du code de travail à inclure dans vos projets.

Capture d’écran montrant la fenêtre REPL (read–eval–print loop) Python dans Visual Studio 2022.

Capture d’écran montrant la fenêtre REPL (read–eval–print loop) Python dans Visual Studio.

Visual Studio propose de nombreux modes REPL Python parmi lesquels choisir :

REPL Description Modification Débogage Images
Standard RepL par défaut parle directement à Python Édition standard (multiligne et plus encore) Oui, via $attach Non
Déboguer REPL par défaut communique avec le processus Python débogué Modification standard Débogage uniquement Non
IPython REPL communique avec le backend IPython Commandes IPython, avantages de Pylab Non Oui, inline dans REPL
IPython sans Pylab REPL communique avec l'infrastructure IPython Standard IPython Non Oui, fenêtre distincte

Cet article décrit les modes Standard et Debug REPL. Pour plus d’informations sur les modes IPython, consultez Utiliser iPython REPL.

Pour obtenir une procédure pas à pas détaillée avec des exemples, notamment les interactions avec l’éditeur, telles que Ctrl+Entrée, consultez Utiliser la fenêtre REPL interactive.

Conditions préalables

Visual Studio pour Mac n’est pas pris en charge. Pour plus d’informations, consultez Qu’est-ce qui se passe dans Visual Studio pour Mac ? Visual Studio Code sur Windows, Mac et Linux fonctionne correctement avec Python via des extensions disponibles.

Ouvrir la fenêtre interactive

Il existe plusieurs façons d’ouvrir la fenêtre interactive pour un environnement Python.

  • À partir de la fenêtre Environnements Python :

    1. Sélectionnez Afficher>autres Environnements Windows>Python pour ouvrir la fenêtre Environnements Python (ou utilisez le clavier Ctrl+K>Ctrl+`).

    2. Dans la fenêtre Environnements Python, sélectionnez un environnement, et basculez vers la page Vue d’ensemble de l’environnement.

    3. Dans la page Vue d’ensemble, sélectionnez l’option Ouvrir une fenêtre interactive.

    Capture d’écran montrant comment utiliser l’option Ouvrir une fenêtre interactive pour l’environnement sélectionné dans Visual Studio 2022.

    Capture d’écran montrant comment utiliser l’option Ouvrir une fenêtre interactive pour l’environnement sélectionné dans Visual Studio.

  • Dans le menu Afficher de l’outil Visual Studio, sélectionnez Autres fenêtres>Fenêtre interactive Python:

    Capture d’écran montrant comment utiliser l’option de menu Afficher la fenêtre interactive Python dans Visual Studio 2022.

    Capture d’écran montrant comment utiliser l’option de menu Afficher la fenêtre interactive Python dans Visual Studio.

  • Dans le menu Déboguer dans la barre d’outils Visual Studio, sélectionnez Exécuter <Projet | Fichier> dans Python Interactive ou utilisez le raccourci clavier Shift+Alt+F5. Vous pouvez ouvrir une fenêtre interactive pour le fichier de démarrage dans votre projet, ou pour tout fichier autonome :

    Capture d’écran montrant comment utiliser l’option Debug Execute Project in Python Interactive menu in Visual Studio 2022.

    Capture d’écran montrant comment utiliser l’option Debug Execute Project in Python Interactive menu in Visual Studio.

Une autre option consiste à envoyer le code que vous écrivez dans l’éditeur Visual Studio à l'fenêtre interactive. Cette approche est décrite dans Envoyer du code à la fenêtre interactive.

Explorer les options de fenêtre interactive

Vous pouvez contrôler différents aspects de la fenêtre interactive , tels que l’emplacement des fichiers de script de démarrage et le fonctionnement des touches de direction dans l’environnement de fenêtre. Pour accéder aux options, sélectionnez Tools>Options>Python>Interactive Windows:

Capture d’écran des options Windows interactives Python dans Visual Studio.

Les options sont décrites en détail dans Options de la fenêtre interactive Python pour Visual Studio.

Utiliser la fenêtre interactive

Dans la fenêtre interactive, vous pouvez commencer à entrer du code ligne par ligne à l'invite de commande REPL Python >>>. Lorsque vous entrez chaque ligne, Visual Studio exécute le code, notamment l’importation de modules nécessaires et la définition de variables.

Lorsque Visual Studio détecte qu’une ligne de code ne forme pas d’instruction complète, l’invite de code passe à la continuation REPL .... Cette invite indique que vous devez entrer davantage de lignes de code pour terminer le bloc d’instructions. Visual Studio attend la syntaxe de fermeture avant de tenter d’exécuter le bloc de code.

Lorsque vous définissez une instruction for, la première ligne de code démarre le bloc for et se termine par un signe deux-points. Le bloc peut se composer d’une ou plusieurs lignes de code qui définissent les tâches à effectuer pendant la boucle for. Lorsque vous sélectionnez Entrée sur une ligne vide, la fenêtre interactive ferme le bloc et Visual Studio exécute le code.

Comparaison des REPLs de ligne de commande

La fenêtre interactive améliore l’expérience REPL de ligne de commande Python habituelle en mettant automatiquement en retrait les instructions qui appartiennent à une étendue environnante. Les deux approches vous permettent d’utiliser les touches de direction pour parcourir votre code entré. La fenêtre interactive fournit également des éléments multilignes, tandis que la ligne de commande REPL ne fournit que des lignes uniques.

Méta-commandes

La fenêtre interactive prend en charge plusieurs méta-commandes. Toutes les méta-commandes commencent par le symbole dollar $. Vous pouvez entrer $help pour afficher une liste de méta-commandes et $help <command> pour obtenir les détails d’utilisation d’une commande spécifique. Le tableau suivant récapitule les méta-commandes.

Métacommande Description
$$ Insérez un commentaire, ce qui est utile pour commenter le code tout au long de votre session.
$cls, $clear Effacez le contenu de la fenêtre de l’éditeur, mais conservez l’historique et le contexte d’exécution intacts.
$help Affichez une liste de commandes ou aide sur une commande spécifique.
$load Chargez les commandes à partir du fichier et exécutez jusqu’à la fin.
$mod Basculez l’étendue actuelle vers le nom du module spécifié.
$reset Réinitialisez l’environnement d’exécution à l’état initial, mais conservez l’historique.
$wait Attendez au moins le nombre spécifié de millisecondes.

Vous pouvez également étendre les commandes avec des extensions Visual Studio en implémentant et en exportant la classe IInteractiveWindowCommand. Pour plus d’informations, consultez un (exemplesur GitHub).

Changer d’étendue de fenêtre interactive

Par défaut, la fenêtre interactive d’un projet est limitée au fichier de démarrage du projet comme si vous avez exécuté le fichier programme à partir de l’invite de commandes. Pour un fichier autonome, l’étendue est définie sur ce fichier. À tout moment pendant votre session REPL, vous pouvez utiliser la liste déroulante de l'étendue du module pour modifier l'étendue :

Capture d’écran montrant comment utiliser le menu déroulant Étendue du module pour modifier l’étendue dans la fenêtre interactive dans Visual Studio 2022.

Capture d’écran montrant comment utiliser le menu déroulant Étendue du module pour modifier l’étendue dans la fenêtre interactive.

Après avoir importé un module, tel que import importlib, les options s’affichent dans le menu déroulant de la portée du module pour passer à n’importe quelle portée de ce module. Un message dans la fenêtre interactive signale la modification de la nouvelle étendue. Vous pouvez donc suivre la façon dont vous avez obtenu un certain état pendant votre session en examinant l’historique des commandes.

Si vous entrez la commande dir() dans une étendue, Visual Studio affiche des identificateurs valides dans cette étendue, y compris les noms de fonction, les classes et les variables. L’image suivante montre le résultat de la commande dir() pour l’étendue importlib :

Capture d’écran montrant la sortie dans la fenêtre interactive de l’étendue importlib dans Visual Studio 2022.

Capture d’écran montrant la sortie dans la fenêtre interactive de l’étendue importlib.

Envoyer du code à la fenêtre interactive

En plus de travailler directement dans la fenêtre interactive , vous pouvez envoyer du code depuis l'éditeur Visual Studio vers la fenêtre. Cette commande est utile pour le développement de code itératif ou évolutif, notamment pour tester votre code lors de son développement.

  1. Ouvrez un fichier de code dans l’éditeur Visual Studio, puis sélectionnez un ou plusieurs du code.

  2. Cliquez avec le bouton droit sur le code sélectionné et sélectionnez Envoyer à un interactif (ou utilisez le raccourci clavier Ctrl+E, E).

    Capture d’écran montrant comment utiliser l’option de menu Envoyer à interactive dans Visual Studio 2022.

    Capture d’écran montrant comment utiliser l’option de menu Envoyer à interactive dans Visual Studio.

Modifier et exécuter du code

Après avoir envoyé du code à la fenêtre interactive et afficher la sortie, vous pouvez modifier le code et tester les modifications. Utilisez les flèches haut et bas pour faire défiler vers le code dans l’historique des commandes de la fenêtre. Modifiez le code et exécutez le code mis à jour en sélectionnant Ctrl+Entrée.

Lorsque vous apportez des modifications, si vous sélectionnez Entrée à la fin d’une instruction de code complète, Visual Studio exécute le code. Si l’instruction de code n’est pas terminée, Visual Studio insère une nouvelle ligne dans la fenêtre.

Enregistrez le code et supprimez les messages

Une fois que vous avez terminé votre travail sur le code, vous pouvez sélectionner le code mis à jour dans la fenêtre interactive et le coller dans votre fichier projet pour enregistrer votre travail.

Lorsque vous collez du code de la fenêtre interactive dans l’éditeur, Visual Studio supprime l’invite de commandes REPL >>> et l’invite de continuation ... par défaut. Ce comportement vous permet de transférer facilement du code de la fenêtre vers l’éditeur.

Vous pouvez modifier le comportement avec l'option Coller supprime les invites REPL pour la fenêtre interactive :

  1. Sélectionnez Outils> pour ouvrir la boîte de dialogue Options.

  2. Développez la section de Formatagede l'Éditeur de texte >Python>.

  3. Effacez l’option Coller supprime les invites REPL.

  1. Sélectionnez Outils>Options pour ouvrir la boîte de dialogue Options.

  2. Développez la section Éditeur de texte>Python>Avancé.

  3. Effacez l’option Coller supprime les invites REPL.

Lorsque vous désactivez l’option, les caractères d’invite sont conservés dans le code collé à partir de la fenêtre. Pour plus d’informations, consultez Options - Options diverses.

Passer en revue le comportement d’IntelliSense

La fenêtre interactive inclut des suggestions IntelliSense basées sur les objets en direct, contrairement à l’éditeur de code où IntelliSense est basé uniquement sur l’analyse du code source. Par conséquent, les suggestions IntelliSense dans la fenêtre interactive sont plus correctes, en particulier avec du code généré dynamiquement. L’inconvénient est que les fonctions avec des effets secondaires tels que la journalisation des messages peuvent affecter votre expérience de développement.

Vous pouvez ajuster le comportement Intellisense à travers les options de saisie semi-automatique  :

  1. Sélectionnez Outils>Options pour ouvrir la boîte de dialogue Options.

  2. Développez la section Python>Interactive Windows.

  3. Ajustez les paramètres dans le groupe Mode d’achèvement, par exemple Ne jamais évaluer les expressions ou Masquer les suggestions d’analyse statique.

Pour plus d’informations, consultez Options - Options Windows interactives.