Pythonのコードをキレイに書きたい!(VSCodeにflake8 & blackをインストール)
概要
Pythonのコードをキレイに書きたい!
これを簡単に実現するために、コード規約のチェック(flake8)と整形(black)を自動で実施できるようにします。
環境
インストール
flake8
% pip install flake8
black
% pip install black
VSCodeの設定
内容
VSCodeのユーザー設定として追加する。
VSCodeのGUI設定画面で右上のマーク( )をクリックすれば、json形式での設定が可能。
- Linterの設定(flake8)
- フォーマッターの設定(black)
{ "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": true, "python.linting.enabled": true, "python.linting.flake8Args": [ "--max-line-length", "88", "--ignore=E203,W503,W504" ], "python.formatting.provider": "black", "editor.formatOnSave": true }
解説
flake8の設定
"python.linting.pylintEnabled": false: pylint(デフォルトのリンター)をオフ
"python.linting.flake8Enabled": true: flake8をオン
"python.linting.enabled": true : Pythonでのリンターをオン
"python.linting.flake8Args": [
"--max-line-length", "88", "--ignore=E203,W503,W504"
]:
black/flake8での競合を回避するための設定。
flake8のデフォルト設定では一行あたりの文字数を79文字としている。79文字から88文字へ変更することでblackと設定を同じにしている。
blackの設定
"python.formatting.provider": "black": blackで整形する
"editor.formatOnSave": true: セーブしたときに整形する
参考ウェブサイト
【VS Code】BlackとFlake8を使ってきれいなPythonコードを書く!!
* すごくわかりやすい記事。Thanks!
Pipenv can't install black because black is only a pre-release
* blackをインストールできなかったときに参照
(2020年3月22日に実施した際はpre版しかなく、pipコマンドの最後に --pre を付けないとインストールできなかった。2021年2月22日時点では --pre は不要。)