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.
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 sur Windows installé avec prise en charge des charges de travail Python. Pour plus d’informations, consultez Installer la prise en charge de Python dans Visual Studio.
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 :
Sélectionnez Afficher>autres Environnements Windows>Python pour ouvrir la fenêtre Environnements Python (ou utilisez le clavier Ctrl+K>Ctrl+`).
Dans la fenêtre Environnements Python, sélectionnez un environnement, et basculez vers la page Vue d’ensemble de l’environnement.
Dans la page Vue d’ensemble, sélectionnez l’option Ouvrir une fenêtre interactive.
Dans le menu Afficher de l’outil Visual Studio, sélectionnez Autres fenêtres>Fenêtre interactive Python:
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 :
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:
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 :
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
:
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.
Ouvrez un fichier de code dans l’éditeur Visual Studio, puis sélectionnez un ou plusieurs du code.
Cliquez avec le bouton droit sur le code sélectionné et sélectionnez Envoyer à un interactif (ou utilisez le raccourci clavier Ctrl+E, E).
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 :
Sélectionnez Outils> pour ouvrir la boîte de dialogue Options.
Développez la section de Formatagede l'Éditeur de texte >Python>.
Effacez l’option Coller supprime les invites REPL.
Sélectionnez Outils>Options pour ouvrir la boîte de dialogue Options.
Développez la section Éditeur de texte>Python>Avancé.
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 :
Sélectionnez Outils>Options pour ouvrir la boîte de dialogue Options.
Développez la section Python>Interactive Windows.
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.