VSCode: Python + black で開発するための設定
Python のコードフォーマッタ black を VSCode で使うための設定.
black について
black の pros/cons について述べておく.
pros
- 制限が厳しく議論の余地が少なく,個人的なこだわりを排除できる
- もちろん PEP8 準拠
- 要は「制限の厳しい PEP8」.
Python のフォーマッタには autopep8 や yapf があるが,特に black はデフォルト設定で制限が厳しく,自由に設定できない.そのため,面倒な議論を避けて「black 使います」で OK になるから個人的にかなり好き.もちろん PEP8 という Python のコーディングスタイルにも準拠.
cons
- 個人的なこだわりを排除する
メリットはデメリットの裏返しということで.
例えば,black は文字列のクォーテーションマークを全てダブルクォーテーションに統一する.自分は以前から,「基本シングルクォートで,f-strings など特殊な文字列の場合はダブルクォート」という使い分けをしており,結構気に入ってたが black ではこれが出来ない.ただ,そういう個人的なこだわりの余地を無くすのが black の良いところでもあるので,そこは郷に入っては郷に従えで慣れれば問題なし.
VSCode の設定手順
black をインストールして,パス等の設定を行えば OK.
- black のインストール
which black
で black のパスを取得- VSCode 側で設定
1. black のインストール
Poetry の人
poetry add --dev black
pip の人
pip install black
2. black のパスを取得
which black
例えば,Docker コンテナ内だとこんな感じ
$ which black # /usr/local/bin/black
3. VSCode 側で設定
GUI での設定
以下 2 項目を設定.
JSON での設定
settings.json
は以下のようになる.
{ "python.formatting.blackPath": "/usr/local/bin/black", "python.formatting.provider": "black" }
参考
black の細かな設定を行うときに参考になる記事