IntelliJやPyCharmでPythonファイルの変更を検知してflake8で文法チェックをする
- 作成
- 2020-04-29
概要
Pythonのコードをレビューする際に、フォーマットについての指摘は何箇所にも渡ってしまい心が折れそうになったので調べてみました。CIも方法としてありますが、レビューの対象はあくまで課題で書かれたシンプルなPythonスクリプト。
オーバースペックなのでIntelliJやPyCharmなどのJetBrains製品でPythonの文法チェックをする方法を模索してみました。
前提
flake8をインストールしていること
flake8はPythonのコードスタイルであるPEP8に準拠しているかをチェックしたり、コードの論理的なエラーをチェックしたり、循環的複雑度をチェックする万能チェックツールです。
これをインストールします。
$ pip install flake8
インストールできているかの確認。
$ flake8 --version
File Watchersをインストールしていること
IntelliJやPyCharmでは「File Watchers」というファイルの変更を検知するプラグインがあります。
こちらをインストールして再起動します。
IntelliJやPyCharmでの設定方法
[IDE名]→[Preferences]で設定を開き、左のペインの[Tools]→[File Watchers]と辿り、[+]ボタンをクリックします。
[Custom]をクリックします。
「New Watcher」のダイアログで以下を入力します。
項目名 | 解説 | 設定値 |
---|---|---|
Name | Watcherの名前。 | flake8 |
File Type | 対象するファイルの種類。 | 「Python」を選択。 |
Scope | 監視対象にするファイルのことです。 | 「All Files」を選択。 |
Program | ターミナルでwhich flake8 でパスを調べて入力しましょう。 |
flake8のパス |
Arguments | コマンド引数。 | $FilePath$ |
Output path to refesh | ファイル出力する際のパス。今回はIDE内のパネルに閉じたいので「なし」を選択します。 | なし |
Advanced Options | 詳細オプションですが、とくに設定しません | なし |
[OK]ボタンをクリックしダイアログを閉じ、さらに[OK]ボタンを入力してPreferencesを閉じます。
動作の確認方法
Pythonファイルを開き、わざと間違えた内容を入れると、「Output」パネルが自動的に開き、エラーメッセージを表示します。
ファイルの監視を止めるには?
[Preference]→[Tools]→[File Watchers]を開き、監視を停止したいWacherをクリックして選択し、「Enabled」のチェックをクリックしてチェックマークを消し、[OK]ボタンを押します。