VS Codeのエージェントモードを拡張するには、を試してください!

Visual Studio Code での Python

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

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

Python チュートリアル

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

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

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

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

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

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

Python コードの実行

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

print("Hello World")

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

Using the run python file in terminal button

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

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

このコマンドは必要に応じて Python ターミナルを開きます。また、[Python: Start Terminal 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 ドキュメントで詳しく学ぶことができます。

リンティング

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

Python 拡張機能は、Pylint、pycodestyle、Flake8、mypy、pydocstyle、prospector、pylama など、さまざまなリンターを適用できます。リンティングを参照してください。

デバッグ

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

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

さらに、DjangoFlask のチュートリアルでは、Django テンプレートのデバッグを含む、Web アプリケーションのコンテキストでデバッグを実装する方法の例が提供されています。

環境

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

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

Status Bar showing a selected interpreter

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

Status bar showing no selected Python interpreter

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

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

Python: Select Interpreter command

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

Jupyter notebooks

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

Jupyter notebook running in VS code in the Notebook Editor

また、[Jupyter: Export to Python Script] コマンドを使用して、ノートブックを Python コード ファイルとして変換して開くこともできます。ノートブックのセルは Python ファイル内で #%% コメントで区切られ、Jupyter 拡張機能は [Run Cell] または [Run Below] CodeLens を表示します。どちらかの CodeLens を選択すると、Jupyter サーバーが起動し、Python 対話型ウィンドウでセルが実行されます。

Jupyter notebook running in VS Code and the Python interactive window

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

テスト

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

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

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

設定

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

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

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

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

Create Profile dropdown with profile templates

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

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

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

上記の拡張機能は動的にクエリされます。上の拡張機能タイルをクリックして説明とレビューを読み、どの拡張機能が最適かを判断してください。詳細は Marketplace を参照してください。

次のステップ