BlackはPythonのコードフォーマットのコマンドラインツールです。
これにより常に同じフォーマットルールを適用できます。
VSCodeで使用する場合、Black Formatterプラグインを使用して、ファイル保存時に自動整形すると良いでしょう。
VSCodeの設定例
setting.json
{
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
},
"black-formatter.args": [
"--skip-string-normalization",
"--line-length=79",
"--force-exclude", "src/not_formatted.*\\.py",
],
}
VSCode設定で--exclude
が効かない
-
--force-exclude
を使用しましょう。
特定のファイルのフォーマットを除外したい場合、コマンドラインで一括でフォーマットする場合は、--exclude
オプションを使用しますが、VSCodeではうまくいきません。
おそらく裏でblack foo.py --exclude foo.py
というコマンドが実行されるためで、フォーマット対象として指定したファイルは除外できないためでしょう。
--force-exclude
を使用すると強制的に除外され、期待した通りに動作します。
除外対象は正規表現形式の指定となります。
また、--force-exclude
は複数指定できないようなので、複数のファイルを除外したい場合、1つの正規表現で複数のファイルを指定することになります。
例:
["--force-exclude", "x\\.py|y\\.py",]
Happy Coding!