Visual Studio Code で Python コードを実行する
REPL で短い Python コードを試す場合でも、Python スクリプトを実行する準備が整っている場合でも、Python 拡張機能はコードを実行するための複数の方法を提供します。
Python コードを対話的に実行する
マシンにインストールされている Python インタープリターは、対話型の REPL (Read-Evaluate-Print Loop) と呼ばれるものを提供します。これは、コードの一部を読み取り、評価し、その結果をコンソールに出力します。
マシンに Python インタープリターをインストールした後、システムのターミナルまたはコマンドプロンプトを開き、python
(Windows) または python3
(macOS/Linux) と入力して、>>>
で示される Python REPL をアクティブにすることで、Python REPL と対話できます。
VS Code で Python REPL と対話するには、さらに 2 つの方法があります。
ネイティブ REPL
VS Code の Python 用ネイティブ REPL は、従来の Python REPL を基盤として構築されており、Intellisense や構文ハイライトなどの追加機能を提供して、Python 開発体験をより効率的にします。ただし、この REPL は、Python 自体に組み込まれている REPL に存在する原則、つまり過去の実行順序とその内容は不変であるという原則に準拠しています。
コマンド パレット (⇧⌘P (Windows、Linux では Ctrl+Shift+P)) で Python: Start Native REPL を検索して、ネイティブ REPL を開くことができます。さらに、settings.json
ファイルで "python.REPL.sendToNativeREPL": true
を設定することで、スマート送信 (Shift+Enter) と Run Selection/Line in Python REPL (選択範囲/行を Python REPL で実行) を介してコードをネイティブ REPL に送信できます。settings.json
で "python.REPL.sendToNativeREPL": false
を設定することで、ターミナルにある Python に組み込まれた REPL (>>>
) を引き続き使用することもできます。
ターミナル REPL
VS Code の外部で Python REPL と対話できるのと同様に、VS Code 内でターミナルを開き、Python REPL をアクティブにすることができます。そのためには、コマンド パレット (⇧⌘P (Windows、Linux では Ctrl+Shift+P)) で Python: Start Terminal REPL を検索すると、現在選択されている Python インタープリター用のターミナルが開きます。または、ターミナル > 新しいターミナル に移動し、python
(Windows) または python3
(macOS/Linux) コマンドを入力します。
ターミナル シェル統合 を介してターミナルでサポートされている機能がいくつかあります。たとえば、最近のコマンドの実行、コマンド デコレーター、アクセシビリティの向上などです。ターミナルでのシェル統合を有効または無効にするには、設定で python.terminal.shellIntegration.enabled を切り替えることができます。
Python コードの実行
Python 拡張機能は、追加の設定なしで Python コードを実行するさまざまな方法を提供します。
-
エディターの右上にある [ターミナルで Python ファイルを実行] 再生ボタンを選択します。
このボタンを押すとターミナル パネルが開き、Python インタープリターが自動的にアクティブ化され、指定されたスクリプトが実行されます (例:
python3 hello.py
(macOS/Linux) またはpython hello.py
(Windows))。 -
エディター ウィンドウの任意の場所を右クリックし、[実行] > [ターミナルで Python ファイルを実行] を選択します (これによりファイルが自動的に保存されます)。
-
1 行または複数行を選択し、Shift+Enter を押すか、右クリックして [選択範囲/行を Python ターミナルで実行] を選択します。
このオプションは、ファイルの一部だけをテストする場合に便利です。
-
コード行にカーソルを置き、Shift+Enter を押してスマート送信をアクティブにします。
スマート送信
Python 拡張機能では、デフォルトでスマート送信 (Shift+Enter) が有効になっています。スマート送信は、カーソルが置かれているコードを調べ、実行可能な最小のコード チャンクを Python REPL に送信し、カーソルを次のコード行に移動します。これにより、プログラム内の Python コードを簡単かつ効率的に実行できます。
スマート送信は、サポートされていないバージョンの Python (たとえば、Python 2) や無効な Python コードでは機能しません。カーソルが置かれている行のコードのみを送信するようにスマート送信を無効にするには、python.REPL.enableREPLSmartSend
を false
に設定します。