🚀 VS Code で で入手しましょう!

Visual Studio Code での Python の Lint 処理

Lint 処理は、Python ソースコード内のセマンティックおよび文体的な問題を強調表示します。これにより、多くの場合、エラーにつながる可能性のある微妙なプログラミングエラーやコーディングプラクティスを特定して修正するのに役立ちます。たとえば、Lint 処理では、未定義の変数の使用、未定義の関数の呼び出し、括弧の欠落、さらには組み込み型や関数を再定義しようとするなどの、より微妙な問題を検出できます。Lint 処理は、コードの実行方法を分析してエラーを検出するのに対し、Formatting はコードの表示方法を再構築するだけであるため、フォーマットとは異なります。

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

リンターの選択

VS Code Marketplace で、選択したリンター拡張機能を検索します。必要に応じて、複数のリンターを同時に使用できます。

マイクロソフトは、Python 用に次のリンター拡張機能を公開しています

リンター 拡張機能
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 Extension Template を使用して、新しい Python ツールを VS Code に統合できます。

一般的な設定

サポートされている設定の詳細については、各リンター拡張機能の README を参照してください。次の設定は、ほとんどのリンター拡張機能でサポートされています

設定 既定 説明
args [] リンターに渡される引数。: 公式にサポートされているリンターは、個々の開いているファイルで実行されます。構成がそのシナリオに適用されることを確認してください。
importStrategy useBundled useBundled に設定すると、拡張機能には同梱されているツールのバージョンが使用されます。fromEnvironment に設定すると、選択した Python 環境から最初にロードしようとし、それ以外の場合は同梱されているバージョンにフォールバックします。
path "" Lint 処理に使用するリンターバイナリへのパス。注: このオプションを使用すると、フォーマットが遅くなる可能性があります。
interpreter [] Python 実行可能ファイルへのパスに設定すると、拡張機能はそれを使用して Lint 処理サーバーとそのサブプロセスを起動します。
showNotifications off 拡張機能によって通知が表示されるタイミングを制御します。サポートされている値は、offalwaysonError、および onWarning です。

Lint 処理の無効化

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

Lint 処理の実行

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

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

Linting messages in the editor and the Problems panel

コードアクション

一部のリンターは、報告された問題の対処に役立つコードアクションを提供する場合があります。提供されるコードアクションを確認するには、お好みのリンター拡張機能の [機能のコントリビューション] セクションを参照してください。

ログ記録

リンターのログは、ドロップダウンメニューから <linter name> を選択すると、[出力] パネル (⇧⌘U (Windows Ctrl+Shift+ULinux Ctrl+K Ctrl+H)) で確認できます。

リンター拡張機能のログレベルを変更するには、コマンドパレット (⇧⌘P (WindowsLinux Ctrl+Shift+P)) から [開発者: ログ レベルの設定] コマンドを実行します。[拡張機能ログ] グループから拡張機能を選択し、目的のログレベルを選択します。

重要度

リンターは、事前定義された重要度で問題を報告します。これは、リンターの severity 設定を使用して変更できます。サポートされている値と重要度レベルの詳細については、各リンター拡張機能の README を参照してください。

Lint 処理のトラブルシューティング

問題 原因 解決策
リンター拡張機能が問題を報告しません。 ワークスペース用に Python が選択されていません。 使用しているリンターのログを見て、使用している Python 環境へのパスを確認してください。Python が選択されていない場合は、コマンドパレットから [Python: インタープリターを選択] コマンドを実行し、ワークスペースの既存のインタープリターを選択します。
「非推奨の lint 処理またはフォーマット設定があります」という通知が表示される この通知が表示される場合は、VS Codepython.lintingpython.formatting などの設定があることを意味します。Lint 処理とフォーマットのサポートがツール拡張機能に移行されたため、これらの設定は Python 拡張機能ではサポートされなくなりました。 コマンドパレット (⇧⌘P (WindowsLinux Ctrl+Shift+P)) を開き、[基本設定: ユーザー設定を開く (JSON)] コマンドを実行して、これらの設定が VS Code のどこで定義されているかを確認します。ユーザー設定にない場合は、[基本設定: ワークスペース設定を開く (JSON)] コマンドを実行します。次に、非推奨の設定を削除します。
: Remote Development extension pack の拡張機能のいずれかを使用している場合は、[基本設定: リモート設定を開く (JSON)] コマンドを実行してリモート設定を確認することもできます。
リンター拡張機能をインストールしても Lint 処理が機能しない。 Lint 処理は、サポートされていないバージョンの Python が使用されている、リンターが正しく構成されていないなど、さまざまな理由で失敗する可能性があります。リンターが失敗した理由を理解するには、リンター拡張機能の出力チャネルを確認してください (コマンドパレットで [出力: 出力にフォーカス] コマンドを実行し、リンター拡張機能チャネルを選択します)。

次のステップ

  • フォーマット - Python コードをフォーマットする方法について説明します。
  • デバッグ - ローカルとリモートの両方で Python をデバッグする方法について説明します。
  • テスト - テスト環境を構成し、テストを検出、実行、およびデバッグします。
  • 基本的な編集 - 強力な VS Code エディターについて説明します。
  • Python Extension Template - お気に入りのリンターを VS Code に統合する拡張機能を作成します。