Visual Studio Code で Python コードを実行する
REPL で短い Python コードを試している場合でも、Python スクリプトを実行する準備ができている場合でも、Python 拡張機能はコードを実行するための複数の方法を提供します。
対話的に Python コードを実行する
お使いの環境にインストールされている Python インタプリターは、対話型 REPL (Read-Evaluate-Print Loop) と呼ばれる機能を提供します。これは、コードを読み込み、評価し、その結果をコンソールに出力するものです。
お使いの環境に Python インタプリターをインストールした後、システムのターミナルまたはコマンドプロンプトを開き、python
(Windows) または python3
(macOS/Linux) と入力することで Python REPL と対話できます。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 を介してコードをネイティブ 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
に設定します。