前言
目的
使用 black 做 Python 程式碼的風格統一調整,使其更符合 PEP8 的 coding style。
簡述
使用 black 只會調整 code 的樣字,像是修飾,而不會特別修改程式上的名字或是邏輯,可以放心使用。
使用 black 在 terminal
安裝
假設你在 vscode 的該 project 下,有設定 virtual environment ,記得在對應的環境安裝
pip install black
修飾
只修飾一個檔案
black <file-you-want-to-format>.py
修飾整個資料夾的檔案
black <folder-you-want-to-format>
當無法 format 成功時,印出相關的資訊
black -v <file-you-want-to-format>.py
其他參數
-l --line-length INTEGER
: 每行允許的字數(預設 88 個)--check
: 不會改寫檔案,只會回傳修飾的狀況。0 代表沒用修改需求,1 則代表有修改需求。123 則是有錯誤發生-t --target-version [py35|py36...|py39]
: 依照 target version 指示,修飾檔案
Others: https://github.com/psf/black#command-line-options
使用 black 在 vscode 上
- 安裝 python extention
- 修改 vscode 設定
- (optional) 調整設定
安裝 Python extention
- 進入 vscode 的視窗介面
- 按下 ctrl+shift+K ,進入 extention 的介面
- 搜尋
python
並安裝
修改 vscode 設定
- 確認目前在 VSCode 的 python enviroment
2. 進入 vscode 的設定 search Format on save,開啟「檔案儲存會自動 format」
3. 進入 vscode 的設定 search Python Formatting Provider,開啟當使用 python 時用「black 做 format」
問題排除
若是以上步驟結束後,無法成功 format,而且底下的 bar 顯示 Extension 'Python Language Basics' cannot format <file-name>.py'
,則依下方修改 vscode 的 setting.json
,修改對應的參數
"editor.defaultFormatter": null,
"editor.formatOnSave": true,
"python.formatting.provider": "black"
補充
除了在 local 端做,更可以在 version control 時運行