LoginSignup
1
1

VSCodeでPythonのBlackを使用する時に特定のファイルを除外するには"--force-exclude"を使え

Posted at

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!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1