Werken met het interactieve Python-venster in Visual Studio
Visual Studio biedt een interactief REPL-venster (Read-Evaluate-Print Loop) voor elk van uw Python-omgevingen. Dit verbetert de REPL die u krijgt met de python.exe
opdracht op de opdrachtregel. Met het Interactieve Python-venster kunt u willekeurige Python-code invoeren en direct resultaten bekijken. Deze methode voor coderen helpt u bij het leren en experimenteren met API's en bibliotheken en het interactief ontwikkelen van werkende code die u in uw projecten kunt opnemen.
Visual Studio heeft veel Python REPL-modi waaruit u kunt kiezen:
REPL | Beschrijving | Bewerken | Fouten opsporen | Beelden |
---|---|---|---|---|
Standard- | Standaard REPL praat rechtstreeks met Python | Standaardbewerking (multiline en meer) | Ja, via $attach |
Nee |
foutopsporing | Standaard REPL praat met de gedebugde Python-proces | Standaardbewerking | Alleen foutopsporing | Nee |
IPython- | REPL praat met IPython-back-end | IPython-opdrachten, Pylab-gemakken | Nee | Ja, inline in REPL |
IPython zonder Pylab | REPL praat met IPython-back-end | Standard IPython | Nee | Ja, afzonderlijk venster |
In dit artikel worden de Standard en Debug REPL-modi beschreven. Zie De IPython REPL-gebruiken voor meer informatie over IPython-modi.
Voor een gedetailleerd overzicht met voorbeelden, inclusief de interacties met de editor zoals Ctrl+Enter, zie Het interactieve REPL-venster gebruiken.
Voorwaarden
- Visual Studio in Windows geïnstalleerd met ondersteuning voor Python-workloads. Zie Python-ondersteuning installeren in Visual Studiovoor meer informatie.
Visual Studio voor Mac wordt niet ondersteund. Zie Wat gebeurt er met Visual Studio voor Mac voor meer informatie? Visual Studio Code op Windows, Mac en Linux werkt goed met Python via beschikbare extensies.
Het interactieve venster openen
Er zijn verschillende manieren om het Interactive Window te openen voor een Python-omgeving.
Vanuit het venster Python-omgevingen:
Selecteer Weergave>Andere vensters>Python-omgevingen om het venster Python-Omgevingen te openen (of gebruik de toetsenbordcombinatie Ctrl+K>Ctrl+`).
Selecteer in het venster Python-omgevingen een omgeving en ga naar de pagina Overzicht voor de omgeving.
Selecteer op de pagina Overzicht de optie Interactief venster openen.
Selecteer in het menu Weergave in het hulpmiddel Visual Studio Andere Windows>Python Interactive Window:
Selecteer in het menu Foutopsporing op de werkbalk van Visual Studio <Project uitvoeren | Bestand> in Python Interactive of gebruik de sneltoets Shift+Alt+F5-. U kunt een Interactief venster openen voor het opstartbestand in uw project of voor een zelfstandig bestand:
Een andere optie is het verzenden van de code die u in de Visual Studio-editor schrijft naar het Interactive Window. Deze methode wordt beschreven in Code verzenden naar het interactieve venster.
Opties voor interactief venster verkennen
U kunt verschillende aspecten van het Interactive Windowbeheren, zoals de locatie van opstartscriptbestanden en de werking van de pijltoetsen in de vensteromgeving. Als u de opties wilt openen, selecteert u Extra>Opties>Python>Interactive Windows:
De opties worden gedetailleerd beschreven in Opties voor interactief Python-venster voor Visual Studio.
Het interactieve venster gebruiken
In het Interactive Windowkunt u beginnen met het invoeren van code line-by-line bij de REPL Python-opdrachtprompt >>>
. Terwijl u elke regel invoert, voert Visual Studio de code uit, inclusief het importeren van de benodigde modules en het definiëren van variabelen.
Wanneer Visual Studio detecteert dat een regel code geen volledige instructie vormt, verandert de codeprompt naar de REPL-continuatie ...
. Deze prompt geeft aan dat u meer regels code moet invoeren om het instructieblok te voltooien. Visual Studio wacht op de afsluitende syntaxis voordat het codeblok wordt uitgevoerd.
Wanneer u een for
-instructie definieert, wordt met de eerste regel code het for
-blok gestart en eindigt met een dubbele punt. Het blok kan bestaan uit een of meer regels code waarmee de taken worden gedefinieerd die moeten worden voltooid tijdens de for
lus. Wanneer u op een lege regel Enter selecteert, sluit het Interactive Window het blok af en voert Visual Studio de code uit.
Repl-vergelijking van opdrachtregel
De Interactive Window verbetert de gebruikelijke REPL-ervaring voor python-opdrachtregels door automatisch instructies te laten inspringen die deel uitmaken van een omringend bereik. Met beide benaderingen kunt u de pijltoetsen gebruiken om door de ingevoerde code te bladeren. De Interactive Window biedt ook items met meerdere regels, terwijl de opdrachtregel-REPL slechts één regel biedt.
Meta-opdrachten
De Interactive Window ondersteunt verschillende meta-opdrachten. Alle metaopdrachten beginnen met het dollarsymbool $
. U kunt $help
invoeren om een lijst met metaopdrachten en $help <command>
te zien om gebruiksgegevens voor een specifieke opdracht op te halen. De volgende tabel bevat een overzicht van de meta-opdrachten.
Meta-opdracht | Beschrijving |
---|---|
$$ |
Voeg een opmerking in, die nuttig is om tijdens uw sessie code te becommentariëren. |
$cls , $clear |
Wis de inhoud van het editorvenster, maar laat de geschiedenis en uitvoeringscontext intact. |
$help |
Een lijst met opdrachten of help weergeven voor een specifieke opdracht. |
$load |
Laad opdrachten uit het bestand en voer deze uit totdat het is voltooid. |
$mod |
Schakel het huidige bereik over naar de opgegeven modulenaam. |
$reset |
Stel de uitvoeringsomgeving opnieuw in op de oorspronkelijke status, maar behoud de geschiedenis. |
$wait |
Wacht ten minste het opgegeven aantal milliseconden. |
U kunt de opdrachten ook uitbreiden met Visual Studio-extensies door de IInteractiveWindowCommand
-klasse te implementeren en te exporteren. Raadpleeg een (voorbeeld op GitHub) voor meer informatie.
Interactief vensterbereik schakelen
Het Interactive Window voor een project is standaard ingesteld op het opstartbestand van het project alsof u het programmabestand hebt uitgevoerd vanaf de opdrachtprompt. Voor een zelfstandig bestand is het bereik ingesteld op dat bestand. Op elk gewenst moment tijdens uw REPL-sessie kunt u met de Module-scope vervolgkeuzelijst de scope wijzigen:
Nadat u een module hebt geïmporteerd, zoals import importlib
, verschijnen er opties in het vervolgkeuzemenu met de scope van de module om naar een ander bereik binnen die module over te schakelen. Een bericht in de Interactive Window meldt de overstap naar het nieuwe bereik, zodat u kunt bijhouden hoe u tijdens uw sessie een bepaalde status hebt bereikt door de opdrachtgeschiedenis te bekijken.
Als u de opdracht dir()
in een bereik invoert, worden in Visual Studio geldige id's in dat bereik weergegeven, waaronder functienamen, klassen en variabelen. In de volgende afbeelding ziet u het resultaat van de opdracht dir()
voor het importlib
bereik:
Code verzenden naar interactief venster
U kunt niet alleen rechtstreeks in het Interactive Window werken, maar ook code verzenden in de Visual Studio-editor naar het venster. Deze opdracht is handig voor iteratieve of evolutionaire codeontwikkeling, inclusief het testen van uw code tijdens het ontwikkelen ervan.
Open een codebestand in de Visual Studio-editor en selecteer enkele of alle code.
Klik met de rechtermuisknop op de geselecteerde code en selecteer Verzenden naar interactieve (of gebruik de sneltoets Ctrl+E, E).
Code wijzigen en uitvoeren
Nadat u code hebt verzonden naar het Interactive Window en de uitvoer hebt bekeken, kunt u de code wijzigen en de wijzigingen testen. Gebruik de pijl-omhoog en pijl-omlaag om naar de code in de opdrachtgeschiedenis voor het venster te schuiven. Wijzig de code en voer de bijgewerkte code uit door Ctrl+Enterte selecteren.
Wanneer u wijzigingen aanbrengt, voert Visual Studio de code uit als u Enter aan het einde van een volledige code-instructie selecteert. Als de code-instructie niet is voltooid, voegt Visual Studio een nieuwe regel in het venster in.
Code opslaan en prompts verwijderen
Nadat u uw werk aan de code hebt voltooid, kunt u de bijgewerkte code selecteren in het Interactive Window en deze weer in het projectbestand plakken om uw werk op te slaan.
Wanneer u code plakt uit het Interactive Window in de editor, verwijdert Visual Studio de REPL-opdrachtprompt >>>
en vervolgprompt standaard ...
. Met dit gedrag kunt u eenvoudig code van het venster naar de editor overbrengen.
U kunt het gedrag wijzigen met de Plakken verwijdert REPL-prompts optie voor het Interactieve Venster:
Selecteer Tools>Opties om het dialoogvenster Opties te openen.
Vouw de sectie Teksteditor>Python>Opmaak uit.
Wis de optie “Plakken verwijdert REPL-prompts”.
Selecteer Extra>Opties om het dialoogvenster Opties te openen.
Vouw de sectie Text Editor>Python>Advanced uit.
Wis de optie Plakken REPL-prompts verwijdert.
Wanneer u de optie uitschakelt, blijven de prompttekens behouden in code die vanuit het venster is geplakt. Zie Opties - Diverse optiesvoor meer informatie.
IntelliSense-gedrag controleren
Het Interactive Window bevat IntelliSense-suggesties op basis van de live-objecten, in tegenstelling tot de code-editor waarin IntelliSense alleen is gebaseerd op broncodeanalyse. Als gevolg hiervan zijn IntelliSense-suggesties in het Interactive Window correcter, met name met dynamisch gegenereerde code. Het nadeel is dat functies met neveneffecten, zoals logboekregistratieberichten, van invloed kunnen zijn op uw ontwikkelervaring.
U kunt het IntelliSense-gedrag aanpassen via de voltooiingsopties:
Selecteer Extra>Opties om het dialoogvenster Opties te openen.
Vouw de sectie Python>Interactive Windows uit.
Pas instellingen in de groep voltooiingsmodus aan, zoals Expressies nooit evalueren of Statische analysesuggestiesverbergen.
Zie Opties - Interactieve Windows-optiesvoor meer informatie.