VSCodeでコピペで使えるpythonの自動フォーマットをする設定についてまとめます。
静的解析ツールについては以下の記事にも書いています。
目次
VScodeでPythonの自動フォーマットする設定ファイル
必要なモジュールをインストール。
pip install black flake8 mypy
VSCodeのプラグインのPylance、必要ならautoDocstringもインストールしてください。
autoDocstringはpythonのコメントのdocstringを自動生成するプラグインです。


あとは以下のファイルをPythonプロジェクトの.vscode/settings.jsonに配置して必要なとこ修正するだけでOK。
{
// 保存時のフォーマットを有効にする
"": {
"editor.tabSize": 4,
"editor.formatOnSave": true,
// importの自動整形
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
},
// 保存時のフォーマットにblackを使用するようにする
"python.formatting.provider": "black",
// オプションを指定,不要なら空にする
// オプションで設定ファイル指定可能
"python.formatting.blackArgs": [
"--config=pyproject.toml"
],
// 型チェックはPylanceかmypyどちらか一方で良い
// mypyの設定
"python.linting.mypyEnabled": true,
// オプションを指定,不要なら空にする
// config fileの指定はできなそう
"python.linting.mypyArgs": [],
// pylanceの型チェック設定
"python.analysis.typeCheckingMode": "basic",
// flake8の有効化、設定
"python.linting.flake8Enabled": true,
// オプションを指定,不要なら空にする
// config fileの指定はできなそう
"python.linting.flake8Args": [
"--ignore=E203,E266,W503,",
"--max-line-length=88",
"--max-complexity=10"
],
// (これはどっちでもいい)docstringをgoogleフォーマットにする
// https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html
"autoDocstring.docstringFormat": "google",
}
設定内容
保存時にblackを用いて自動フォーマット、importの修正をします。
また、flake8を有効にしているのでpep8に違反しているコードは警告を出してくれます。
型チェックはPylance内部の機能かmypyどちらかを有効にすればOK。私はPylanceの方だけ使ってます。
blackは設定ファイルを指定できるが、flake8, mypyは調べた感じできなそう。設定ファイルと同じオプションを指定する必要がある。