Visual Studio Code での Python

Microsoft Python 拡張機能 を使用して Visual Studio Code で Python を操作することは、シンプルで楽しく、生産的です。この拡張機能により、VS Code は優れた Python エディターとなり、さまざまな Python インタープリターを備えたあらゆるオペレーティングシステムで動作します。VS Code のすべての機能を活用して、オートコンプリートと IntelliSense、Lint、デバッグ、単体テストを提供するとともに、仮想環境や conda 環境を含む Python 環境を簡単に切り替える機能を提供します。

この記事では、VS Code 用の Python 拡張機能のさまざまな機能の概要のみを提供します。コードの編集、実行、デバッグのチュートリアルについては、下のボタンを使用してください。

Python チュートリアル

Python と Python 拡張機能をインストールする

チュートリアルでは、Python のインストールと拡張機能の使用について説明します。拡張機能とは別に、Python インタープリターを自分でインストールする必要があります。クイックインストールするには、python.org から Python を使用し、VS Code Marketplace から拡張機能をインストールしてください。

: Python 開発を始めるにあたって、便利な拡張機能、設定、Python コードスニペットを含む Python プロファイルテンプレート を使用できます。

Python のバージョンをインストールしたら、Python: インタープリターの選択 コマンドを使用して選択します。VS Code が目的のインタープリターを自動的に検出しない場合は、環境 - インタープリターを手動で指定する を参照してください。

Python 拡張機能は、設定を通じて構成できます。詳細については、Python 設定リファレンス を参照してください。

Linux 用 Windows サブシステム: Windows を使用している場合、WSL は Python 開発を行うのに最適な方法です。Windows 上で Linux ディストリビューションを実行でき、Python が既にインストールされていることがよくあります。WSL 拡張機能と組み合わせることで、WSL のコンテキストで実行しながら、VS Code の完全な編集およびデバッグサポートを利用できます。詳細については、WSL での開発 にアクセスするか、WSL での作業 チュートリアルをお試しください。

Python コードを実行する

Python を体験するには、hello.py という名前のファイル (エクスプローラー を使用) を作成し、次のコードを貼り付けます

print("Hello World")

Python 拡張機能は、現在選択されているインタープリター (コマンドパレットの Python: インタープリターの選択) を使用して Python コードを実行するためのショートカットを提供します。アクティブな Python ファイルを実行するには、エディターの右上にある Python ファイルを実行 再生ボタンをクリックします。

Using the run python file in terminal button

Python: Python ターミナルで選択範囲/行を実行 コマンド (Shift+Enter) を使用して、個々の行またはコードの選択範囲を実行することもできます。選択範囲がない場合、スマート送信は、カーソルが置かれている行の周囲の最小実行可能コードブロックを (Shift+Enter) で Python ターミナルに送信します。エディターでの選択範囲のコンテキストメニューには、同一の Python の実行 > Python ターミナルで選択範囲/行を実行 コマンドも用意されています。ターミナル/REPL で選択範囲または行を実行するたびに、同じターミナルが使用され、そのターミナルが閉じられるまで続きます。同じターミナルは、ターミナルで Python ファイルを実行 にも使用されます。そのターミナルがまだ REPL を実行している場合は、REPL を終了 (exit()) するか、別のターミナルに切り替えてから Python ファイルを実行する必要があります。

Python 拡張機能は、選択範囲の最初の空でない行に基づいてインデントを自動的に削除し、必要に応じて他のすべての行を左にシフトします。

このコマンドは、必要に応じて Python ターミナルを開きます。また、Python: ターミナル REPL を開始 コマンドを使用して、インタラクティブ REPL 環境を直接開くこともできます。このコマンドは、現在選択されているインタープリターでターミナルをアクティブにし、Python REPL を実行します。

より具体的なチュートリアルと、コードを実行するその他の方法については、コード実行チュートリアル を参照してください。

オートコンプリートと IntelliSense

Python 拡張機能は、現在選択されているインタープリターを使用して、コード補完と IntelliSense をサポートしています。IntelliSense は、すべてのファイルと組み込みおよびサードパーティモジュールにわたるインテリジェントなコード補完 (コンテキスト内のメソッドと変数の提案) を含む、多くの機能の一般的な用語です。

IntelliSense は、入力時にメソッド、クラスメンバー、ドキュメントをすばやく表示します。⌃Space (Windows、Linux Ctrl+Space) でいつでも補完をトリガーすることもできます。識別子にカーソルを合わせると、詳細情報が表示されます。

IntelliSense and autocomplete for Python code

AI で補完を強化する

GitHub Copilot は、コードをより速く、よりスマートに記述するのに役立つ AI 搭載のコード補完ツールです。VS Code で GitHub Copilot 拡張機能 を使用して、コードを生成したり、生成されたコードから学習したりできます。

GitHub Copilot extension in the VS Code Marketplace

GitHub Copilot は、Python を超える言語や、JavaScript、TypeScript、Ruby、Go、C#、C++ などの幅広いフレームワークの提案を提供します。

Copilot の始め方について詳しくは、Copilot ドキュメント を参照してください。

Lint

Lint は、Python コードを潜在的なエラーについて分析し、さまざまな問題に簡単に移動して修正できるようにします。

Python 拡張機能は、Pylint、pycodestyle、Flake8、mypy、pydocstyle、prospector、pylama を含む多くの異なる Linter を適用できます。Lint を参照してください。

デバッグ

もう print ステートメントデバッグは不要です! VS Code には、Python デバッガー拡張機能 を介して Python の優れたデバッグサポートが付属しており、ブレークポイントの設定、変数の検査、およびデバッグコンソールを使用して、プログラムがステップバイステップでどのように実行されているかを詳細に調べることができます。マルチスレッド、Web、リモートアプリケーションなど、さまざまな種類の Python アプリケーションをデバッグします。

launch.json 設定の構成やリモートデバッグの実装など、Python でのデバッグに関する具体的な情報については、デバッグ を参照してください。一般的な VS Code デバッグ情報については、デバッグドキュメント を参照してください。

さらに、Django および Flask チュートリアルでは、Django テンプレートのデバッグなど、Web アプリケーションのコンテキストでデバッグを実装する方法の例を示します。

環境

Python 拡張機能は、標準の場所にインストールされている Python インタープリターを自動的に検出します。また、ワークスペースフォルダー内の conda 環境と仮想環境も検出します。Python 環境の構成 を参照してください。

現在の環境は、VS Code ステータスバーの右側に表示されます

Status Bar showing a selected interpreter

ステータスバーには、インタープリターが選択されていない場合も表示されます

Status bar showing no selected Python interpreter

選択された環境は、IntelliSense、オートコンプリート、Lint、フォーマット、およびその他の言語関連機能に使用されます。また、ターミナルで Python を実行またはデバッグする場合、または ターミナル: 新しいターミナルの作成 コマンドで新しいターミナルを作成する場合にもアクティブになります。

conda 環境または仮想環境への切り替えを含む、現在のインタープリターを変更するには、ステータスバーのインタープリター名を選択するか、Python: インタープリターの選択 コマンドを使用します。

Python: Select Interpreter command

VS Code は、検出された環境のリストと、ユーザー設定に手動で追加した環境のリストをプロンプト表示します (Python 環境の構成 を参照)。

Jupyter Notebook

VS Code で Jupyter Notebook ファイル (.ipynb) の Python サポートを有効にするには、Jupyter 拡張機能 をインストールできます。Python 拡張機能と Jupyter 拡張機能は連携して、VS Code で優れた Notebook エクスペリエンスを提供し、IntelliSense サポートでコードセルを直接表示および変更したり、実行およびデバッグしたりする機能を提供します。

Jupyter notebook running in VS code in the Notebook Editor

Jupyter: Python スクリプトにエクスポート コマンドを使用して、Notebook を Python コードファイルとして変換して開くこともできます。Notebook のセルは、Python ファイルで #%% コメントで区切られ、Jupyter 拡張機能は セルの実行 または 下を実行 CodeLens を表示します。いずれかの CodeLens を選択すると、Jupyter サーバーが起動し、Python インタラクティブウィンドウでセルが実行されます

Jupyter notebook running in VS Code and the Python interactive window

リモート Jupyter サーバーに接続して Notebook を実行することもできます。詳細については、Jupyter サポート を参照してください。

テスト

Python 拡張機能は、Python の組み込み unittest フレームワークと pytest を使用した テスト をサポートしています。

テストを実行するには、プロジェクトの設定でサポートされているテストフレームワークのいずれかを有効にする必要があります。各フレームワークには、テスト検出のパスとパターンの識別引数など、独自の特定の設定があります。

テストが検出されると、VS Code は、テストを実行およびデバッグするためのさまざまなコマンド (ステータスバー、コマンドパレットなど) を提供します。これらのコマンドを使用すると、個々のテストファイルとメソッドを実行することもできます

構成

Python 拡張機能は、さまざまな機能に対してさまざまな設定を提供します。これらは、コードの編集Lintデバッグテスト など、関連するトピックで説明されています。完全なリストは、設定リファレンス にあります。

Python プロファイルテンプレート

プロファイル を使用すると、現在のプロジェクトまたはタスクに応じて、拡張機能、設定、UI レイアウトをすばやく切り替えることができます。Python 開発を始めるにあたって、便利な拡張機能、設定、スニペットを含む Python プロファイルテンプレート を使用できます。プロファイルテンプレートをそのまま使用することも、独自のワークフローに合わせてさらにカスタマイズするための出発点として使用することもできます。

プロファイル > プロファイルの作成... ドロップダウンからプロファイルテンプレートを選択します

Create Profile dropdown with profile templates

プロファイルテンプレートを選択すると、設定と拡張機能を確認し、新しいプロファイルに含めたくない個々のアイテムを削除できます。テンプレートに基づいて新しいプロファイルを作成した後、設定、拡張機能、または UI に加えられた変更はプロファイルに保持されます。

Microsoft Python 拡張機能 は、この記事で前述したすべての機能を提供します。他の人気のある Python 拡張機能をインストールすることで、追加の Python 言語サポートを VS Code に追加できます。

  1. 拡張機能 ビューを開きます (⇧⌘X (Windows、Linux Ctrl+Shift+X))。
  2. 「python」と入力して拡張機能リストをフィルター処理します。

上に表示されている拡張機能は動的にクエリされます。上記の拡張機能タイルをクリックして、説明とレビューを読んで、最適な拡張機能を決定してください。詳細については、マーケットプレース を参照してください。

次のステップ