web-dev-qa-db-ja.com

Python=のVisual Studio CodeでCode Runnerをセットアップする方法

Visual Studio Code 1.23.1をインストールし、拡張機能(Python、Code Runner)を追加しました。

Code Runnerでは、Run Codeシンボル(三角形)が表示され、強調表示するとショートカットCtrl + Alt + Nが表示されます。しかし、ユーザー入力を要求するコードを実行するためにそれを使用しようとすると、入力を提供する方法を見つけます。ユーザー入力を入力しようとすると、「読み取り専用エディターで編集できません」というエラーメッセージが表示されます。これは、PATHの設定や他のワークスペース設定など、Code Runnerの構成部分が不足しているためだと思います。

質問:すべての設定が必要なこととその方法を特定するのを手伝ってください。

Pythonのインストール中に「Add Python 3.6 to PATH」を選択しました。参考のためにスクリーンショットを添付しました。

ExecutionErrorExecutionError

注:今でも、右クリックして、同じプログラムに対して[Run Python File in Terminal]を選択すると、ユーザー入力を正常に入力して期待どおりの出力を得ることができます。 ExecutionWorking

7
300

コードランナーに端末を使用するように指示することで、入力を提供できます。これを行うには、code-runner.runInTerminalという設定があり、デフォルトでfalseに設定されており、trueに設定できます。

CMDやPowerShellなどのターミナル用のWindowsコマンドラインを使用している場合は、もう1つ注意する必要があります。プロジェクトディレクトリにスペースが含まれている場合(C:\ Example Testなど)、エラーが発生します。これを修正するには、ユーザー設定の\"および$dirの設定の下にあるディレクトリパス変数(通常は$workspaceRootまたはcode-runner.executorMap)の周りにエスケープされた引用符(code-runner.executorMapByFileExtension)を追加する必要があります。

9
Zack Jorquera

別の代替答えがあります、私はより正確なと思います.
次の設定をvscodeユーザー設定ファイルに追加します。

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

いくつかの便利な変数については、このリファレンスをご覧ください。 変数リファレンス

16
Lukewcn

ここでの主な問題は、コードランナー拡張機能がデフォルトで使用する出力ウィンドウが読み取り専用であることです。代わりに端末を使用すると、プログラムは通常どおり入力を受け入れることができます。

Code-runner.runInTerminal設定をtrue(デフォルトはfalse)に設定することにより、出力ウィンドウの代わりに統合ターミナルを使用するようにCode Runnerを構成できます。 settings.jsonファイルでは、次のようになります。"code-runner.runInTerminal": true

代わりにGUIを使用する場合、設定はtrueに設定されると次のようになります。 Run In Terminal setting using the gui interface

システムpythonインストールの代わりに仮想環境を使用している場合、インストールされたモジュールで適切に動作するように2番目の設定も構成する必要があります。 code-runner.executorMap設定は、runを押すか、Ctrl + Alt + Nショートカットを使用すると、コードランナーが実際に行うことを構成します。デフォルトでは、PATHに追加されたpythonインタープリターを単に呼び出すようです。

Settings.jsonファイルの設定を次のように変更した場合:

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

コードランナーは、代わりにpythonPath変数の値を使用します。これは、Pythonを使用して設定できます。コマンドパレットから[インタープリターを選択]コマンド(Ctrl + Shift + P)。このようにして、仮想環境でインタープリターを選択し、デフォルトでPATHに接続されているインタープリターの代わりに使用できます。

上記の2つの設定により、A)統合端末内で入力を入力し、B)既存のコマンドを使用して簡単に実行するpythonインタープリターコードランナーを選択できます。

3
Jordan Cottle