LoginSignup
5
4

More than 1 year has passed since last update.

【Lint】vscodeでpep8のチェックをする手順【Python】

Last updated at Posted at 2022-02-27

Pythonのコードフォーマットツールについて紹介します。

コードフォーマットツールとは

autopep8

自動でPEP8スタイルガイドに準拠するようにするフォーマッタツールです。
autopep8 --in-place <filename>とコマンドを実行するとpep8に準拠したコードへ整形してくれます。
また、設定によりファイル保存時に整形するようにできます。

flake8

Pythonのコードチェックツールです。
pep8などコーディング規約に違反したコードがないかチェックしてくれます。

設定方法

説明

今回はvscodeにてautopep8とflake8を設定する方法を紹介します。
flake8はコードチェックのみですが、autopep8は違反コードを自動修正してくれるので用途に応じて使い分けてください。
両方使用する人が多いです。

vscodeへの設定

こちらを参考にすることでautopep8とflake8を設定できます。

クォーテーション(引用符)の統一

デフォルトのflake8ではファイル中の「シングルクォーテーション」、「ダブルクォーテーション」の混在をチェックできません。
チェックするためにはこちらを参考に「flake8-quotes」をインストールします。

settings.jsonの設定

さらに細かな設定は「settings.json」から設定することができます。
settings.jsonの場所はこちらを参考にしてください。


例えば、インデントをスペース2つ分をコーディング規約として設定できます。

注意点

autopep8とflake8を両方使用している人向け

settings.jsonの「python.formatting.autopep8Args」と「python.linting.flake8Args」に設定した「--ignore=」のエラーコードが異なる場合、autopep8で自動整形してもflake8のエラー表示が消えず、二度手間のような状態になるので同じ値を推奨します。

settings.json
{
  "python.linting.flake8Enabled": true,
  "python.linting.flake8Args": [
    "--ignore=E111, E114, E402, E501"
  ],
  "python.formatting.provider": "autopep8",
  "python.formatting.autopep8Args": [
    "--ignore=E114, E402, E501"
  ],
  "[python]": {
    "editor.formatOnSave": true
  }
}

autopep8で自動整形後もflake8エラーのE111が表示され続ける。

エラーコードの詳細

flake8等で表示されるpep8のエラーコードはこちらを参考にしてください。

参考

5
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4