web-dev-qa-db-fra.com

Comment configurer Code Runner dans Visual Studio Code pour Python

J'ai installé Visual Studio Code 1.23.1 et ajouté des extensions - Python, Code Runner.

Avec Code Runner, maintenant je peux voir le symbole Run Code (triangle) et en le surlignant, je vois le raccourci Ctrl + Alt + N. Mais quand j'essaie de l'utiliser pour exécuter le code qui demande une entrée utilisateur, je peux ' t trouver un moyen de fournir l'entrée. Lorsque j'essaie d'entrer une entrée utilisateur, j'obtiens le message d'erreur "Impossible de modifier dans l'éditeur en lecture seule". Je pense que c'est parce que je manque une partie de configuration pour Code Runner comme la configuration de PATH ou d'autres paramètres de Workspace.

Question: S'il vous plaît, aidez-moi à identifier quelle configuration dois-je faire et comment?

J'ai sélectionné "Ajouter Python 3.6 à PATH" lors de l'installation de Python. J'ai joint des captures d'écran pour référence:

ExecutionErrorExecutionError

Remarque: Même maintenant, lorsque je clique avec le bouton droit de la souris et sélectionne "Exécuter Python Fichier dans le terminal" pour le même programme, je peux entrer les entrées utilisateur correctement et obtenir la sortie attendue. ExecutionWorking

7
300

Vous pouvez fournir une entrée en indiquant au coureur de code d'utiliser le terminal. Pour ce faire, il existe un paramètre appelé code-runner.runInTerminal, défini sur false par défaut, que vous pouvez définir sur true.

Il y a encore une chose à laquelle vous devez faire attention si vous utilisez une ligne de commande Windows pour le terminal comme CMD ou PowerShell. Si votre répertoire de projet contient des espaces (par exemple C:\Exemple de test), vous obtiendrez une erreur. Pour résoudre ce problème, vous devez ajouter des guillemets d'échappement (\") autour des variables du chemin du répertoire (normalement $dir ou $workspaceRoot) trouvé sous le paramètre code-runner.executorMap et code-runner.executorMapByFileExtension dans les paramètres utilisateur.

9
Zack Jorquera

Voici une autre réponse alternative, je pense plus précis.
Ajoutez les paramètres suivants à votre fichier de paramètres utilisateur vscode:

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

Consultez cette référence pour quelques variables utiles: Référence des variables

16
Lukewcn

Le problème principal ici est que la fenêtre de sortie que l'extension de programme d'exécution de code utilise par défaut est en lecture seule. Si vous utilisez le terminal à la place, votre programme pourra accepter l'entrée comme d'habitude.

Vous pouvez configurer Code Runner pour utiliser le terminal intégré au lieu de la fenêtre de sortie en définissant le paramètre code-runner.runInTerminal sur true (la valeur par défaut est false). Dans le fichier settings.json, il devrait ressembler à: "code-runner.runInTerminal": true

Si vous souhaitez utiliser l'interface graphique à la place, le paramètre devrait ressembler à ceci une fois défini sur true. Run In Terminal setting using the gui interface

Si vous utilisez un environnement virtuel au lieu du système python install, vous devrez également configurer un deuxième paramètre pour qu'il fonctionne correctement avec les modules installés. Le paramètre code-runner.executorMap configurera ce que le programme d'exécution de code fait réellement une fois que vous appuyez sur exécuter ou utilisez le raccourci Ctrl + Alt + N. Par défaut, il semble simplement appeler l'interpréteur python ajouté au PATH).

Si vous modifiez le paramètre du fichier settings.json en:

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

alors Code Runner utilisera à la place la valeur de la variable pythonPath. Vous pouvez définir cela à l'aide de la commande Python: Select Interpreter dans la palette de commandes (Ctrl + Maj + P). De cette façon, vous pouvez sélectionner l'interpréteur dans votre environnement virtuel et l'utiliser à la place de celui attaché au CHEMIN par défaut.

Les deux paramètres ci-dessus devraient vous permettre de A) Entrer une entrée à l'intérieur du terminal intégré et B) Sélectionner quel python interprète-runner de code doit s'exécuter facilement en utilisant les commandes existantes.

3
Jordan Cottle