BlackはPythonのコードフォーマットのコマンドラインツールです。
これにより常に同じフォーマットルールを適用できます。
VSCodeで使用する場合、Black Formatterプラグインを使用して、ファイル保存時に自動整形すると良いでしょう。
VSCodeの設定例
{
"[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!