Pythonの開発をVisualStudio Codeで行うにあたり、Formatter/Linterも使ってなるべく楽がしたい。コードの標準化を人力で行うのは避けたい。
という動機により、VSCodeと以下を連携させて開発環境を構築した。
- Formatterとして black(設定楽なので)
- blackの補助として isort(blackは対応してなかったので)
- Linterとして flake8(よく普及してるそうなので)
black
Install
プレビュー版ながら、VSCodeの拡張機能でBlack Formatterを使うことができる。ProductionでPreviewを使うのは許されないが、今回はPersonal Useであり、遠からずGAするであろうという期待の元そちらを利用した。
ワークスペース設定内のsettings内に設定を記載した。(後述)
isort
Install
pipでインストール。
pip install isort
ワークスペース設定内のsettings内に設定を記載した。(後述)
flake8
Install
pipでインストール。
pip install flake8 # 確認 pip show flake8
VSCodeの設定画面に移動し、"pylintEnabled"で検索。pylintEnabledとflake8Enabledにチェックを入れる。
- という手順を踏んだが、後述の内容をコピペすれば済む。
VSCodeのワークスペース設定
VSCodeでワークスペースを保存する際にできる***.code-workspaceにあるsettingsの項目を、以下のように記載した。
{
"folders": [
{
"path": "."
}
],
"settings": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.flake8Args": [
"--max-line-length",
"120"
],
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
},
"black-formatter.args": [
"--line-length=120"
]
}
}
ちゃんと動作していそうである。
ちなみにユーザー設定として保存する方法もあるそうだが、違うPCで作業を行う際に設定が消えてしまうのは困るため、ワークスペースに保存している。