Visual Studio Code で Python を Lint する

Python ソースコードの意味論的およびスタイルの問題を強調表示する Lint 機能は、多くの場合、潜在的なプログラミングエラーやエラーにつながるコーディングプラクティスを特定し、修正するのに役立ちます。たとえば、未定義変数の使用、未定義関数の呼び出し、括弧の欠落、さらには組み込み型や関数の再定義の試みなど、より微妙な問題を検出できます。Lint 機能は、コードがどのように実行されるかを分析し、エラーを検出するため、書式設定とは異なります。書式設定は、コードの表示方法を再構築するだけです。

: Python 拡張機能の言語サーバーでは、構文エラーの検出がデフォルトで有効になっています。言語サーバーの設定方法については、「言語サーバーの設定」を参照してください。このドキュメントでは、スタイルチェックを含む追加のコード検出のために Lint 機能を有効にする方法について説明します。

リンターを選択する

お好みのリンター拡張機能を VS Code Marketplace で検索してください。必要に応じて、複数のリンターを同時に使用できます。

Microsoft は Python 用に以下の Lint 拡張機能を発行しています

リンター 拡張機能
Pylint https://marketplace.visualstudio.com/items?itemName=ms-python.pylint
flake8 https://marketplace.visualstudio.com/items?itemName=ms-python.flake8
mypy https://marketplace.visualstudio.com/items?itemName=ms-python.mypy-type-checker

コミュニティによって提供される 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 オフ 拡張機能によって通知が表示されるタイミングを制御します。サポートされている値は offalwaysonErroronWarning です。

Lint 機能を無効にする

リンターは、インストールされている場合、デフォルトで有効になっています。ワークスペースごとに拡張機能を無効にすることで、それらを無効にできます。

Lint 機能を実行する

Python ファイルが開かれるか保存されると、Lint 機能は自動的に実行されます。

エラーと警告は、開いているファイルの問題パネル (⇧⌘M (Windows, Linux Ctrl+Shift+M)) に表示され、コードエディターでも強調表示されます。下線が引かれた問題にカーソルを合わせると、詳細が表示されます。

Linting messages in the editor and the Problems panel

コードアクション

一部のリンターは、報告された問題に対処するのに役立つコードアクションを提供する場合があります。お好みのリンター拡張機能の「機能の貢献」セクションを参照して、どのようなコードアクションが提供されているかを確認できます。

ログ

リンターのログは、ドロップダウンメニューから <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 に統合する拡張機能を作成します。
© . This site is unofficial and not affiliated with Microsoft.