スポンサーリンク

[python PEP8] VSCodeでautopep8とflake8を適用する

PEP8について

PEP8とは

PEP8は、pythonでコードを書くときに、こういうルールで書いて統一することで綺麗なコードになるという決まりです。
よく業務でも使われるので、使い慣れておくといいです。

便利ツール

  • autopep8:PEP8に自動でフォーマットしてくれる
  • flake8:pyflakes、pycodestyle、mccabeの3つのツールがまとめてあり、pycodestyleはpep8になっているか確認する

Visual Studio Codeでautopep8を適用する

autopep8をインストール

autopep8を下記のコマンドでインストールする

pip install autopep8

VSCodeでautopep8を設定

Visual Studio Codeで設定する。
インストールしたときには、自動で設定されていることがある。
ワークスペースのフォルダを右クリックして、フォルダの設定を開くを選択して設定を開く。
formatで検索して、Pythonカテゴリを選択すればすぐに設定箇所がある。

formatring providerにautopep8が設定されていれば問題ない。

また、上記の状態の設定のところで、テキストエディタカテゴリを選択すれば、保存したときにフォーマットするか等の設定もできます。
手動でフォーマットを行ったときにだけ、pep8にするのなら設定の必要はない。

autopep8でフォーマットする

ソースコードエディタの所で、右クリックしてドキュメントのフォーマットすることで、自動でPEP8の形式に変えてくれる。

例えば、a = [1,2,3,4]というコードがあれば、
a = [1, 2, 3, 4]になります。カンマ区切りのスペースが無いので修正してくれます。

flake8をVisual Studio Codeで使う

flake8をインストール

pipでインストールする

pip install flake8

VSCodeでflake8を設定する

autopep8の設定の時と同じように、設定を開き、flake8で検索する。
そこで、Linting: Flake8 Enabledの所にチェックを入れる。
これで、flake8のチェックが適用され、ソースコードに波線が引かれます。

flake8が適用されているか確認

下記のようにコードを書きました。

flake8の設定で、波線が引かれ、無駄なスペースがあることを教えてくれます。
これで設定できていることが確認できました。

命名規則はなし

命名規則はautopep8、flake8にはない模様。
pep8-namingというツールに命名規則があるみたいなので、そっちを使ってみるといい。