Visual Studio Code で Python を Lint する
Python ソースコードの意味論的およびスタイルの問題を強調表示する Lint 機能は、多くの場合、潜在的なプログラミングエラーやエラーにつながるコーディングプラクティスを特定し、修正するのに役立ちます。たとえば、未定義変数の使用、未定義関数の呼び出し、括弧の欠落、さらには組み込み型や関数の再定義の試みなど、より微妙な問題を検出できます。Lint 機能は、コードがどのように実行されるかを分析し、エラーを検出するため、書式設定とは異なります。書式設定は、コードの表示方法を再構築するだけです。
注: Python 拡張機能の言語サーバーでは、構文エラーの検出がデフォルトで有効になっています。言語サーバーの設定方法については、「言語サーバーの設定」を参照してください。このドキュメントでは、スタイルチェックを含む追加のコード検出のために Lint 機能を有効にする方法について説明します。
リンターを選択する
お好みのリンター拡張機能を VS Code Marketplace で検索してください。必要に応じて、複数のリンターを同時に使用できます。
Microsoft は Python 用に以下の Lint 拡張機能を発行しています
コミュニティによって提供される Lint 拡張機能
| リンター | 拡張機能 |
|---|---|
| Ruff | https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff |
| mypy | https://marketplace.visualstudio.com/items?itemName=matangover.mypy |
注: 上記の表または Marketplace でお好みのリンターが見つからない場合は、拡張機能を通じてサポートを追加できます。Python 拡張機能テンプレートを使用して、新しい Python ツールを VS Code に統合できます。
一般設定
サポートされている設定の詳細については、各リンター拡張機能の README を参照してください。ほとんどのリンター拡張機能は以下の設定をサポートしています。
| 設定 | 既定値 | 説明 |
|---|---|---|
| args | [] |
リンターに渡す引数。注: 公式にサポートされているリンターは、個々の開いているファイルで実行されます。そのシナリオで設定が適用されることを確認してください。 |
| importStrategy | useBundled |
useBundled に設定すると、拡張機能は同梱されているツールのバージョンを使用します。fromEnvironment に設定すると、まず選択した Python 環境からロードしようとします。それ以外の場合は、バンドルされたバージョンにフォールバックします。 |
| path | "" |
Lint 機能に使用するリンターバイナリへのパス。注: このオプションを使用すると、書式設定が遅くなる場合があります。 |
| interpreter | [] |
Python 実行可能ファイルへのパスに設定すると、拡張機能はそれを使用して Lint サーバーとそのサブプロセスを起動します。 |
| showNotifications | オフ |
拡張機能によって通知が表示されるタイミングを制御します。サポートされている値は off、always、onError、onWarning です。 |
Lint 機能を無効にする
リンターは、インストールされている場合、デフォルトで有効になっています。ワークスペースごとに拡張機能を無効にすることで、それらを無効にできます。
Lint 機能を実行する
Python ファイルが開かれるか保存されると、Lint 機能は自動的に実行されます。
エラーと警告は、開いているファイルの問題パネル (⇧⌘M (Windows, Linux Ctrl+Shift+M)) に表示され、コードエディターでも強調表示されます。下線が引かれた問題にカーソルを合わせると、詳細が表示されます。

コードアクション
一部のリンターは、報告された問題に対処するのに役立つコードアクションを提供する場合があります。お好みのリンター拡張機能の「機能の貢献」セクションを参照して、どのようなコードアクションが提供されているかを確認できます。
ログ
リンターのログは、ドロップダウンメニューから <linter name> を選択すると、出力パネル (⇧⌘U (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H)) で確認できます。
コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) から開発者: ログレベルを設定コマンドを実行することで、リンター拡張機能のログレベルを変更できます。拡張機能ロググループから拡張機能を選択し、目的のログレベルを選択します。
重大度
リンターは、事前に定義された重大度で問題を報告します。これは、リンターの severity 設定を使用して変更できます。サポートされている値と重大度レベルの詳細については、各リンター拡張機能の README を参照してください。
Lint 機能のトラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| リンター拡張機能が問題を報告していません。 | ワークスペースに Python が選択されていません。 | 使用しているリンターのログを確認し、使用している Python 環境へのパスをチェックしてください。Python が選択されていない場合は、コマンドパレットからPython: インタープリターを選択コマンドを実行し、ワークスペースの既存のインタープリターを選択してください。ステータスバーで Python バージョンを選択してインタープリターを選択することもできます。 |
| 「非推奨の Lint または書式設定の設定があります」という通知が表示される | この通知が表示されている場合、VS Code に python.linting または python.formatting などの設定があることを意味します。これらの設定は、Lint および書式設定のサポートがツール拡張機能に移行されたため、Python 拡張機能ではサポートされなくなりました。 |
コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) を開き、設定: ユーザー設定 (JSON) を開くコマンドを実行して、これらの設定が VS Code のどこで定義されているかを見つけます。ユーザー設定にない場合は、設定: ワークスペース設定 (JSON) を開くコマンドを実行します。次に、非推奨の設定を削除します。 注: Remote Development 拡張機能パックのいずれかの拡張機能を使用している場合は、設定: リモート設定 (JSON) を開くコマンドを実行して、リモート設定も確認できます。 |
| リンター拡張機能をインストールしているのに、Lint 機能が動作しません。 | Lint 機能は、サポートされていないバージョンの Python が使用されている、またはリンターが正しく構成されていないなど、さまざまな理由で失敗する可能性があります。リンターが失敗した理由を理解するには、リンター拡張機能の出力チャネルを確認してください (コマンドパレットで出力: 出力にフォーカスコマンドを実行し、リンター拡張機能チャネルを選択します)。 |
次のステップ
- 書式設定 - Python コードの書式設定方法について学習します。
- デバッグ - ローカルおよびリモートでの Python のデバッグ方法を学習します。
- テスト - テスト環境を構成し、テストを検出、実行、およびデバッグします。
- 基本的な編集 - 強力な VS Code エディターについて学習します。
- Python 拡張機能テンプレート - お気に入りのリンターを VS Code に統合する拡張機能を作成します。