Dela via


Arbeta med det interaktiva Python-fönstret i Visual Studio

Visual Studio innehåller ett interaktivt REPL-fönster (read-evaluate-print loop) för var och en av dina Python-miljöer, vilket förbättrar den REPL du får med kommandot python.exe på kommandoraden. Med interaktivt Python-fönster kan du ange godtycklig Python-kod och se omedelbara resultat. Den här metoden för kodning hjälper dig att lära dig och experimentera med API:er och bibliotek och interaktivt utveckla arbetskod som ska ingå i dina projekt.

Skärmbild av fönstret Python Interactive read-evaluate-print loop (REPL) i Visual Studio 2022.

Skärmbild av fönstret Python Interactive read-evaluate-print loop (REPL) i Visual Studio.

Visual Studio har många Python REPL-lägen att välja mellan:

REPL Beskrivning Redigering Felsökning Bilder
Standard Standard-REPL kommunicerar med Python direkt Standardredigering (flerlinjigt och mer) Ja, via $attach Nej
Felsöka Standard-REPL kommunicerar med den felsökta Python-processen Standardredigering Endast felsökning Nej
IPython REPL pratar med IPython-serverdelen IPython-kommandon, Pylab-bekvämligheter Nej Ja, direkt i REPL
IPython utan Pylab REPL pratar med IPython-serverdelen Standard IPython Nej Ja, separat fönster

I den här artikeln beskrivs Standardlägen och Debug REPL-lägen. Mer information om IPython-lägen finns i Använd IPython REPL-.

En detaljerad genomgång med exempel, inklusive interaktioner med redigeraren, till exempel Ctrl+Enter, finns i Använd det interaktiva REPL-fönstret.

Förutsättningar

Visual Studio för Mac stöds inte. Mer information finns i Vad händer med Visual Studio för Mac? Visual Studio Code på Windows, Mac och Linux fungerar bra med Python via tillgängliga tillägg.

Öppna det interaktiva fönstret

Det finns flera sätt att öppna interaktivt fönster för en Python-miljö.

  • Från fönstret Python-miljöer:

    1. Välj Visa>Andra Windows>Python-miljöer för att öppna fönstret Python-miljöer (eller använd tangentbordet Ctrl+K>Ctrl+`).

    2. I fönstret Python-miljöer väljer du en miljö och växlar till sidan Översikt för miljön.

    3. På sidan Översikt väljer du alternativet Öppna interaktivt fönster.

  • I menyn Visa i Visual Studio-verktyget väljer du Andra Windows>Python Interactive Window:

  • På menyn Felsökning i Visual Studio-verktygsfältet väljer du Kör <Project | Fil> i Python Interactive eller använd kortkommandot Skift+Alt+F5. Du kan öppna ett interaktivt fönster för startfilen i ditt projekt, eller för vilken som helst fristående fil:

Ett annat alternativ är att skicka koden som du skriver i Visual Studio-redigeraren till Interaktivt fönster. Den här metoden beskrivs i Skicka kod till det interaktiva fönstret.

Utforska alternativ för interaktivt fönster

Du kan styra olika aspekter av interaktivt fönster, till exempel platsen för startskriptfiler och hur piltangenterna fungerar i fönstermiljön. Om du vill komma åt alternativen väljer du Verktyg>Alternativ>Python>Interaktiv Windows-:

Skärmbild av alternativen för Python Interactive Windows i Visual Studio.

Alternativen beskrivs i detalj i Python Interactive Window-alternativ för Visual Studio.

Använda det interaktiva fönstret

I det interaktiva fönstret kan du börja ange kod rad för rad i Python REPL-kommandotolken >>>. När du anger varje rad kör Visual Studio koden, inklusive att importera nödvändiga moduler och definiera variabler.

När Visual Studio upptäcker att en kodrad inte utgör en fullständig instruktion ändras kodprompten till REPL-fortsättningen .... Den här uppmaningen anger att du behöver ange fler kodrader för att slutföra instruktionsblocket. Visual Studio väntar på den avslutande syntaxen innan den försöker köra kodblocket.

När du definierar en for-instruktion startar den första kodraden for-blocket och slutar i ett kolon. Blocket kan bestå av en eller flera kodrader som definierar de uppgifter som ska utföras under for-loopen. När du väljer Ange på en tom rad stänger interaktiva fönstret blocket och Visual Studio kör koden.

Kommandorads-REPL-jämförelse

Det interaktiva fönstret förbättrar den vanliga PYTHON-kommandoradens REPL-upplevelse genom att automatiskt dra in instruktioner som tillhör ett omgivande omfång. Med båda metoderna kan du använda piltangenterna för att bläddra igenom den angivna koden. Det interaktiva fönstret innehåller även flerradsobjekt, medan kommandorads-REPL endast innehåller enskilda rader.

Metakommandon

Det interaktiva fönstret stöder flera metakommandon. Alla metakommandon börjar med dollarsymbolen $. Du kan ange $help för att se en lista över metakommandon och $help <command> för att hämta användningsinformation för ett specifikt kommando. I följande tabell sammanfattas metakommandona.

Metakommando Beskrivning
$$ Infoga en kommentar som är användbar för att kommentera kod under hela sessionen.
$cls, $clear Rensa innehållet i redigeringsfönstret, men lämna historik- och körningskontexten intakt.
$help Visa en lista över kommandon eller hjälp med ett specifikt kommando.
$load Läs in kommandon från filen och kör tills det är klart.
$mod Växla det aktuella omfånget till det angivna modulnamnet.
$reset Återställ körningsmiljön till det ursprungliga tillståndet, men behåll historiken.
$wait Vänta minst det angivna antalet millisekunder.

Du kan också utöka kommandona med Visual Studio-tillägg genom att implementera och exportera klassen IInteractiveWindowCommand. För mer information, se ett (exempel på GitHub).

Växla interaktivt fönsteromfång

Som standard begränsas interaktiva fönster för ett projekt till projektets startfil som om du körde programfilen från kommandotolken. För en fristående fil är omfånget inställt på den filen. När som helst under din REPL-session kan du använda -listrutan modulomfånget för att byta omfång.

Skärmbild som visar hur du använder listrutan Modulomfattning för att ändra omfånget i det interaktiva fönstret i Visual Studio 2022.

Skärmbild som visar hur du använder listrutan Modulomfattning för att ändra omfånget i det interaktiva fönstret.

När du har importerat en modul, till exempel import importlib, visas alternativen i listrutan Modulomfång för att växla till alla omfång i modulen. Ett meddelande i det interaktiva -fönstret rapporterar ändringen till det nya omfånget, så att du kan spåra hur du kom till ett visst tillstånd under sessionen genom att granska kommandohistoriken.

Om du anger kommandot dir() i ett omfång visar Visual Studio giltiga identifierare i det omfånget, inklusive funktionsnamn, klasser och variabler. Följande bild visar resultatet av kommandot dir() för importlib-omfånget:

Skärmbild som visar utdata i det interaktiva fönstret för importlib-omfånget i Visual Studio 2022.

Skärmbild som visar utdata i det interaktiva fönstret för importlib-omfånget.

Skicka kod till interaktivt fönster

Förutom att arbeta i interaktivt fönster direkt kan du skicka kod i Visual Studio-redigeraren till fönstret. Det här kommandot är användbart för iterativ eller evolutionär kodutveckling, inklusive testning av din kod när du utvecklar den.

  1. Öppna en kodfil i Visual Studio-redigeraren och välj en del av eller hela koden.

  2. Högerklicka på den valda koden och välj Skicka till interaktiv (eller använd kortkommandot Ctrl+E, E).

    Skärmbild som visar hur du använder menyalternativet Skicka till interaktiv i Visual Studio.

Ändra och köra kod

När du har skickat kod till interaktiva fönstret och visar utdata kan du ändra koden och testa ändringarna. Använd upp- och nedpilarna för att rulla till koden i kommandohistoriken för fönstret. Ändra koden och kör den uppdaterade koden genom att välja Ctrl+Retur.

Om du väljer Ange i slutet av en fullständig kodsats kör Visual Studio koden när du gör ändringar. Om kodsatsen inte är klar infogar Visual Studio en ny rad i fönstret.

Spara kod och ta bort uppmaningar

När du har slutfört ditt arbete med koden kan du välja den uppdaterade koden i interaktiva fönstret och klistra in den i projektfilen igen för att spara ditt arbete.

När du klistrar in kod från interaktiva fönstret i redigeraren tar Visual Studio bort REPL-kommandotolken >>> och fortsättningsprompten ... som standard. Med det här beteendet kan du enkelt överföra kod från fönstret till redigeraren.

Du kan ändra beteendet med alternativet Klistra in tar bort REPL-prompter för Interaktivt Fönster:

  1. Välj Verktyg>Alternativ för att öppna dialogrutan Alternativ.

  2. Utöka avsnittet Textredigeraren>Python>Formatering.

  3. Rensa alternativet Klistra in tar bort REPL-prompter alternativet.

  1. Välj Verktyg>Alternativ för att öppna dialogrutan Alternativ.

  2. Expandera avsnittet Textredigeraren>Python>Advanced.

  3. Rensa funktionen Klistra in tar bort REPL-prompten.

När du avmarkerar alternativet behålls prompttecken i kod som klistras in från fönstret. Mer information finns i Alternativ – Diverse alternativ.

Granska IntelliSense-beteende

Det interaktiva fönstret innehåller IntelliSense-förslag baserade på liveobjekt, till skillnad från kodredigeraren där IntelliSense endast baseras på källkodsanalys. Därför är IntelliSense-förslag i det interaktiva fönstret mer korrekta, särskilt med dynamiskt genererad kod. Nackdelen är att funktioner med sidoeffekter som loggningsmeddelanden kan påverka din utveckling.

Du kan justera Intellisense-beteendet genom alternativen Completion:

  1. Välj Verktyg>Alternativ för att öppna dialogrutan Alternativ.

  2. Expandera avsnittet Python>Interactive Windows.

  3. Justera inställningarna i gruppen slutförandeläge, till exempel Utvärdera aldrig uttryck eller Dölj förslag på statisk analys.

Mer information finns i Alternativ – Interaktiva Windows-alternativ.