LoginSignup
22
13

More than 3 years have passed since last update.

【初心者向け】Visual Studio Code へ flake8 を導入する

Last updated at Posted at 2021-01-07

flake8 は、次の Lint1 を含んだラッパーツールです。

  • PyFlakes
  • pycodestyle
  • Ned Batchelder’s McCabe script

これを Visual Studio Code に導入することで、PythonのコードがPEP8に準拠したスタイルになっているか検証することができるため開発環境に組み込みました。

導入環境

  • Windows 10 64bit
  • Visual Studio Code (VS Code)
  • Python3.8 (※ pip へのパスが通っていることを前提とします。)
  • Windows コマンドプロンプト (cmd.exe) をある程度使えることを前提とします

導入の流れ

  1. flake8 のインストール
  2. VS Code 既定の Lint である pylint を無効化する
  3. VS Code に flake8 を設定する
  4. flake8 の設定値を変更する

1. flake8 のインストール

コマンドプロンプトで次のコマンドを実行します

pip install flake8

インストールが完了したら、次のコマンドでインストールされたことを確認できます

C:\>pip show flake8
Name: flake8
Version: 3.8.4
Summary: the modular source code checker: pep8 pyflakes and co
Home-page: https://gitlab.com/pycqa/flake8
Author: Tarek Ziade
Author-email: tarek@ziade.org
License: MIT
Location: c:\python\lib\site-packages
Requires: pycodestyle, mccabe, pyflakes
Required-by:

2. VS Code 既定の Lint である pylint を無効化する

VS Code の設定画面からpython.linting.pylintEnabledを検索し、Python > Linting: PyLint Enabled項目を無効にします。
0.PNG

尚、VS Code の設定は、ユーザー設定、ワークスペース設定、フォルダー設定と分けることが出来ますが、筆者はユーザー設定を選択しています。

3. VS Code に flake8 を設定する

VS Code の設定画面からpython.linting.flake8Enabledを検索し、Python > Linting: Flake8 Enabled項目を有効にします。
1.PNG

4. flake8 の設定値を変更する

PEP8 スタイルに準拠すると一行の文字数制限が79文字までとなります。
これを現在の開発環境に合わせて、文字数制限を150文字までに設定します。
VS Code の設定画面からpython.linting.flake8Argsを検索し、Python > Linting: Flake8 Args項目に設定を追加します。
3.PNG

この設定により、VS Code の設定ファイル (settings.json) に次のコードが追加されます。

settings.json
{
    "python.linting.flake8Args": [
        "--max-line-length",
        "150"
    ]
}

5. 完了

以上で、Python ソースファイル保存時にコードがPEP8に準拠しているか検証されます。

参考にしたサイト


  1. Lint (Linter ともいう) とはソースコードの内容を分析し問題点を指摘してくれる静的解析ツールです。 

22
13
1

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
22
13