BlackはPythonのコードを整形してくれるツールです。
例えば次のような汚いコードがあったとします。
def calculate_sum(a,b): return a+b
def multiply(x,y):return x*y
def main():
x = 10
y = 20
sum_result=calculate_sum(x,y)
product =multiply(x,y)
print(f"Sum: {sum_result}, Product: {product}")
main()
Blackを適用すると、この通り。
def calculate_sum(a, b):
return a + b
def multiply(x, y):
return x * y
def main():
x = 10
y = 20
sum_result = calculate_sum(x, y)
product = multiply(x, y)
print(f"Sum: {sum_result}, Product: {product}")
main()
Visual Studio Code(VSCode)でBlackを設定しておけば、保存のたびに整形してます。
便利すぎるので、僕は真っ先に導入します。
本記事では、Blackの導入方法を解説します。
- macOS
- Python 3.11.11
- VSCode バージョン: 1.96.2 (Universal)
Visual Studio CodeでBlackを設定する2つの方法
VSCodeでBlackを設定する方法は、以下の2つです。
- Workspace Settings (
settings.json
)- ワークスペースの設定が最優先されます。
- Project Settings (
pyproject.toml
)- ワークスペース設定に書かれていない場合に適用されます。
2つとも設定した場合には、settings.json
で設定した内容が優先されます。
0. 事前準備
VSCodeでBlackを使うには、プラグインのインストールをしましょう。
» 参考:Black Formatter – Visual Studio Marketplace
Installボタンをクリックするとポップアップが開くので、Continueをクリックしてインストールを進めて下さい。
1. settings.jsonを使う方法
まずは以下のコマンドでコマンドパレットを表示させます。
- Windows/Linux
Ctrl
+Shift
+P
- macOS
Cmd
+Shift
+P
すると、以下のようなコマンドパレットが表示されます。
そこに、以下を入力してEnterを押しましょう。
Preferences: Open User Settings (JSON)
以下をsettings.json
に追加すればOKです。
{
"[python]": {
// BlackをPythonのデフォルトフォーマッターに指定
"editor.defaultFormatter": "ms-python.black-formatter",
// 保存時にBlackを適用
"editor.formatOnSave": true
},
// 1行の文字数の上限を120文字に設定
"black-formatter.args": ["--line-length=120"]
}
これにより、Pythonファイルを保存するたびにBlackが適用されます。
2. pyproject.tomlを使う方法
pyproject.toml
でBlackの設定を管理したい場合は、以下のようにVSCodeに指示を追加します。
"black-formatter.args": ["--config", "pyproject.toml"]
その上で、Blackの設定が適用されているかどうか、下記コマンドを実行して確認してください。
black --config pyproject.toml .
コマンドライン上から実行したい場合は?
コマンドラインから実行したい場合の手順は以下の通り。
- pip install する
- blackコマンドを実行する
順番に解説します。
Blackライブラリのインストール
以下のコマンドでインストールしましょう。
pip install black
Blackを実行
以下のコマンドでBlackを実行できます。
black .
現在いるディレクトリ配下にあるpyファイルは、すべてBlackフォーマッタによって整形されます。
もしフォルダを指定して整形したいなら、以下のコマンドです。
black manage.py
個人的にはコマンドライン上から実行する場合、black .
を使うことのほうが多いです。
まとめ
BlackはPythonの超強力なフォーマッタです。
特に今回ご紹介したようなVisual Studio Codeとの組み合わせで使うと、飛躍的にコーディングの効率が上がります。
ぜひ、本記事を参考に導入を進めてみて下さい!
コメント