本記事を読むとわかるようになること
- VSCodeでPythonの開発を行う際のリンターはどれを使用すればいいのか ※2024/2/3時点
- リンターではどのようなことができ、どのようなメリットがあるのか
- リンターのおすすめ設定と設定方法
リンターとは
Pythonのソースコードを静的に解析し、エラー、バグ、スタイルの問題、およびサスペクトな構造を検出するツールのこと。リンターはコードの品質を向上させ、バグを早期に発見するのに役立つ
どのリンターを使用すればいいのか
VSCodeでPythonの開発を行う際にリンターについて調べると、よく出てくるのが、Pyright、mypy、Pylance。結論から言うと、今使うべきはPylance
Pylanceの特徴
- Microsoft製の言語サーバー
- Pyrightは型チェックのみ、Pylanceは型チェックに加えて、コード補完、自動インポート、シンタックスハイライトなど、Pythonの開発体験を向上させる包括的な機能を提供
- Pylanceでは、型チェック機能として内部でPyrightを使用している(Pyrightをpipで追加インストールする必要はない)
VSCodeへのインストール方法
以下のPythonという拡張機能をインストールする
https://marketplace.visualstudio.com/items?itemName=ms-python.python
おすすめの設定
- 上記の拡張機能をインストールするだけでも十分にリンターとしての機能を発揮するが、細かい設定をチューニングすることでさらに使いやすくできる
- 設定はsettings.jsonに追加する
チェックレベル
off:型チェックは行われない
basic:基本的な型チェックを行う
strict:エラーに関する最も厳重な型チェックを実施する
{
"python.analysis.typeCheckingMode": "basic",
}
未使用項目をエラーにする
未使用のインポート文
{
"python.analysis.diagnosticSeverityOverrides": {
"reportUnusedImport": "error",
},
}
未使用のクラス
{
"python.analysis.diagnosticSeverityOverrides": {
"reportUnusedClass": "error",
},
}
未使用の関数
{
"python.analysis.diagnosticSeverityOverrides": {
"reportUnusedFunction": "error",
},
}
関数宣言時にカッコ()を自動挿入
{
"python.analysis.completeFunctionParens":true,
}
型ヒントを半透明で表示しダブルクリックで挿入
変数
{
"python.analysis.inlayHints.variableTypes":true,
}
関数の返り値
{
"python.analysis.inlayHints.functionReturnTypes":true,
}
まとめ
いかがでしたでしょうか。本記事では、VSCodeでPythonの開発を行う際のリンターはどれを使用すればいいのか、リンターではどのようなことができ、どのようなメリットがあるのか、リンターのおすすめ設定と設定方法について紹介しました。ぜひ参考にして快適なPython開発ライフを送ってください