wake-up-neo.net

Einrichten von Code Runner in Visual Studio Code für Python

Ich habe Visual Studio Code 1.23.1 installiert und Erweiterungen hinzugefügt - Python, Code Runner.

Mit Code Runner sehe ich jetzt das Run Code-Symbol (Dreieck) und beim Hervorheben sehe ich die Tastenkombination Strg + Alt + N. Aber wenn ich versuche, damit den Code auszuführen, der nach Benutzereingaben fragt, kann ich t einen Weg finden, um die Eingabe bereitzustellen. Wenn ich versuche, Benutzereingaben einzugeben, erhalte ich die Fehlermeldung "Kann nicht im schreibgeschützten Editor bearbeitet werden". Ich denke, das liegt daran, dass mir ein Konfigurationsteil für Code Runner fehlt, wie das Einrichten von PATH oder einige andere Workspace-Einstellungen.

Frage: Bitte helfen Sie mir bei der Ermittlung, welche Konfiguration ich wie vornehmen muss.

Ich habe während der Installation von Python "Add Python 3.6 to PATH" gewählt. Ich habe Screenshots als Referenz angehängt:

ExecutionErrorExecutionError

Hinweis: Auch jetzt, wenn ich mit der rechten Maustaste klicke und "Run Python File in Terminal" für dasselbe Programm auswähle, kann ich eine Benutzereingabe eingeben und die erwartete Ausgabe erhalten. ExecutionWorking

7
300

Sie können Eingaben vornehmen, indem Sie Code Runner anweisen, das Terminal zu verwenden. Dazu gibt es eine Einstellung namens code-runner.runInTerminal, standardmäßig auf false gesetzt, kann auf true gesetzt werden.

Es gibt noch eine weitere Sache, die Sie beachten sollten, wenn Sie eine Windows-Befehlszeile für das Terminal wie CMD oder PowerShell verwenden. Wenn Ihr Projektverzeichnis Leerzeichen enthält (z. B. C:\Example Test), erhalten Sie eine Fehlermeldung. Um dies zu beheben, müssen Sie Anführungszeichen (\") um die Verzeichnispfadvariablen (normalerweise $dir oder $workspaceRoot) gefunden unter der Einstellung code-runner.executorMap und code-runner.executorMapByFileExtension in den Benutzereinstellungen.

9
Zack Jorquera

Hier ist eine andere alternative Antwort, denke ich genauer.
Fügen Sie Ihrer vscode-Benutzereinstellungsdatei folgende Einstellungen hinzu:

"code-runner.executorMap": {
    "python": "$pythonPath -u $fullFileName",
},

In dieser Referenz finden Sie einige nützliche Variablen: Variablenreferenz

16
Lukewcn

Das Hauptproblem hierbei ist, dass das von der Code-Runner-Erweiterung standardmäßig verwendete Ausgabefenster schreibgeschützt ist. Wenn Sie stattdessen das Terminal verwenden, kann Ihr Programm Eingaben wie gewohnt akzeptieren.

Sie können Code Runner so konfigurieren, dass anstelle des Ausgabefensters das integrierte Terminal verwendet wird, indem Sie die Einstellung code-runner.runInTerminal auf true setzen (der Standardwert ist false). In der settings.json-Datei sollte es so aussehen: "code-runner.runInTerminal": true

Wenn Sie stattdessen die GUI verwenden möchten, sollte die Einstellung so aussehen, wenn sie auf true gesetzt ist. Run In Terminal setting using the gui interface

Wenn Sie eine virtuelle Umgebung anstelle der system python install verwenden, müssen Sie auch eine zweite Einstellung konfigurieren, damit sie ordnungsgemäß mit installierten Modulen funktioniert. Die Einstellung code-runner.executorMap wird konfiguriert Welchen Code-Runner tatsächlich ausführt, wenn Sie die Taste "Ausführen" drücken oder die Tastenkombination "Strg + Alt + N" verwenden. Standardmäßig wird scheinbar einfach der zum PATH hinzugefügte python Interpreter aufgerufen.

Wenn Sie die Einstellung in der Datei settings.json in Folgendes ändern:

"code-runner.executorMap": {
    "python": "$pythonPath -u $fullFileName"
}

dann verwendet Code Runner stattdessen den Wert, der in der Variablen pythonPath enthalten ist. Sie können dies mit dem Befehl "Python: Interpreter auswählen" in der Befehlspalette einstellen (Strg + Umschalt + P). Auf diese Weise können Sie den Interpreter in Ihrer virtuellen Umgebung auswählen und diesen anstelle des standardmäßig an PATH angehängten Interpreters verwenden.

Mit den beiden obigen Einstellungen können Sie A) Eingaben in das integrierte Terminal eingeben und B) auswählen, welcher python Interpreter-Code-Runner mit vorhandenen Befehlen problemlos ausgeführt werden soll.

3
Jordan Cottle