Visual Studio Code で Python を Lint する
Lint は、Python のソースコードにおける意味的および様式的な問題を強調表示します。これにより、多くの場合、微妙なプログラミングエラーやエラーにつながるコーディング習慣を特定して修正するのに役立ちます。たとえば、Lint は未定義の変数の使用、未定義の関数の呼び出し、括弧の欠落、さらには組み込み型や関数の再定義の試みなどのより微妙な問題を検出できます。Lint はコードの実行方法を分析してエラーを検出するのに対し、フォーマットはコードの表示方法を再構成するだけなので、フォーマットとは異なります。
注: 構文エラーの検出は、Python 拡張機能の Language Server でデフォルトで有効になっています。Language Server の構成方法については、Language Server の設定を参照してください。このドキュメントでは、スタイルチェックを含む追加のコード検出のために 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 |
拡張機能によって通知が表示されるタイミングを制御します。サポートされている値は off、always、onError、および onWarning です。 |
Lint を無効にする
リンターがインストールされている場合、デフォルトで有効になっています。ワークスペースごとに拡張機能を無効にすることで、リンターを無効にできます。
Lint を実行する
Python ファイルを開いたり保存したりすると、Lint が自動的に実行されます。
開いているファイルのエラーと警告は、問題パネル (⇧⌘M (Windows、Linux Ctrl+Shift+M)) に表示され、コードエディターでも強調表示されます。下線が引かれた問題にマウスオーバーすると、詳細が表示されます。

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