flake8、black、isort、mypyをVS Code上で使用する
これまでPythonの各種コードチェッカー・フォーマッターの使い方をみてきたので、次にVS Codeとの連携方法について書く。
過去の記事はこちら
kamatimaru.hatenablog.com
kamatimaru.hatenablog.com
kamatimaru.hatenablog.com
flake8
・Lint機能が有効になっていることを確認する。
「Python › Linting: Enabled」にチェックが入っていることを確認する。
・デフォルトではPylintが有効になっているのでOFFにする。
「Python › Linting: Pylint Enabled」のチェックを外す。
・flake8を有効にする。
「Python › Linting: Flake8 Enabled」をチェックする。
black
・デフォルトではフォーマッターがautopep8に設定されているのでblackに変更する。
「Python › Formatting: Provider」のプルダウンを開いて、autopep8からblackに変更する。
・保存時の自動フォーマット機能を有効にする。
「Editor: Format On Save」をチェックする。
以上で設定完了
isort
公式ドキュメントを確認したところ、isortはデフォルトでVS Codeの標準のimport並び替え用のパッケージとして組み込まれているとのことであった。
(公式ドキュメントより引用)
Sort Imports uses the isort package to consolidate specific imports from the same module into a single import statement and to organize import statements in alphabetical order.
従って、isort自体をVS Codeに登録するということは必要ない。
但し、デフォルトでは保存時にisortが自動で実行されるように設定されていないので、設定する必要がある。
・保存時にisortが自動で実行されるように設定する
以下の手順で設定する。
1.「Editor: Code Actions On Save」を検索する。
2. この項目に関してはjsonを直に編集する必要があるので、「settings.json で編集」を選択する。
3.「editor.codeActionsOnSave」を以下のように変更する。
[変更前]
"editor.codeActionsOnSave": null }
[変更後]
"editor.codeActionsOnSave": { "source.organizeImports": true } }
isortをVS Codeで実行する方法については情報が少なかったが、以下の公式ドキュメント及びブログを参考にさせて頂いた。
code.visualstudio.com
medium.com
以上で設定完了