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
Python 用 VS Code ネイティブ REPL は、従来の Python REPL を基盤として構築されており、Intellisense や構文の強調表示などの追加機能を提供して、Python 開発エクスペリエンスをより効率的にします。ただし、この REPL は、履歴の実行順序とそのコンテンツが不変であるという点で、Python 自体に組み込まれている REPL に存在する原則に依然として準拠しています。
コマンドパレット (⇧⌘P (Windows、Linux Ctrl+Shift+P)) を介して、Python: ネイティブ REPL を開始 を検索することで、ネイティブ REPL を開くことができます。さらに、settings.json
ファイルで "python.REPL.sendToNativeREPL": true
を設定することにより、スマート送信 (Shift+Enter) および 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: ターミナル 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
に設定します。