VSCodeでpycodestyleを利用したい場合に若干ハマったのでメモ
前提
- VSCode インストール済み
- Python 3.7.3 の環境構築済み
手順
pycodestyleとPep8をインストールしておく(Pep8はpycodestyleの旧名称)
pip install pycodestyle pep8
対象のディレクトリをVSCodeで開き、.vscode/settings.json
の設定ファイルに以下を記述する(ない場合は作成する)
settings.json
{
"python.linting.enabled": true,
"python.linting.pylintEnabled": false,
"python.linting.pep8Enabled": true,
"python.linting.lintOnSave": true
}
ルール無効化等の設定を行う場合は、トップディレクトリにsetup.cfg
ファイルを作成し、pycodestyle
とpep8
のセクションに同一のルール設定を二重に記述する(現状、VSCodeがPep8→pycodestyleの名称変更に対応しておらず、コマンドからのLintと両立させるために二重の記述が必要となる)
以下、1行の文字数制限(80文字未満)を無視する場合の設定ファイル例
setup.cfg
[pycodestyle]
ignore = E501
[pep8]
ignore = E501
以上の設定により、VSCodeで自動でLintが実行されるようになる
コマンドでLintを実施する場合は、トップディレクトリにて以下を実行
$ pycodestyle .
./db_operation.py:127:31: E711 comparison to None should be 'if cond is not None:'