【Python】特定の行だけBlackによるコード整形を行わないようにする
概要
PythonのPEP8準拠のコードフォーマッターとして、Blackが有名です。 Blackは、他のフォーマッターよりもカスタマイズ性が低く、制限が多いです。 その代わり、コードの書き方が統一されるので、細かい書き方で議論したり、悩んだりする必要がなくなり、 開発やコードレビューを高速に行うことができます。
ただ、稀にコードの特定の部分だけ、blackによるコード整形を行いたくない場合があります。 今回は、コードの特定の行だけコード整形を行わない方法について調べたので、こちらにメモを残します。
方法
方法はシンプルで、コード整形を行いたくない箇所を # fmt: off
~ # fmt: on
のコメントで囲うだけです。
また一行だけコード整形を行いたくない場合は、# fmt: skip
コメントを追加します。
# fmt: off dict1 = { "hoge": 10, "foo": 32.1, "bar": True, "baz": False, "fuga": "xxx", "piyo": 12 } # fmt: on dict2 = { "hoge": 10, "foo": 32.1, "bar": True, # fmt: skip "baz": False, "fuga": "xxx", "piyo": 12 }
実際に試してみた結果のスクリーンショットが以下です。
指定したところだけ、コードの整形が行われていないことを確認できました!