VSCode: 突然 Python の構文チェックエラーが増えた時は

2019-08-26

#Python3 #VSCode 静的コード解析

VSCode の Python 構文チェックで、ある時から急に見慣れないメッセージが増えたら、それは Pylint のオプション設定が原因かもしれない。

対象

  • Python の構文チェックに Pylint を使っている (VSCode のデフォルト)
  • 構文チェックで、以前は出なかった問題(警告, ヒント)が表示される
  • Pylint のオプションを設定したことがある

原因

VSCode では、pylintrc ファイルまたは設定 UI から Python › Linting: Pylint Args で Pylint 実行時のオプションを指定できる。これらは特定の警告を無効化したいときに便利だ。
しかしながら Pylint のオプションを指定すると、デフォルトで有効な Pylint Use Minimal Checkers が強制的に無効化されてしまう。

この挙動は、双方のオプション同士の衝突を避けるためだと思われるが、なかなか不便だ。それならその可能性を指摘してくれるだけでいいのに…という感じがしないでもない。

対処法

Pylint Use Minimal Checkers の環境を取り戻すには、自動設定されていた Pylint のオプションを手動で設定(Ctrl+,)の Pylint Args (または pylintrc ファイル) に追加する。

追加するオプションは、下記の通り。

  • --disable=all
  • --enable=F,E,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode

なお、これらのオプションの具体的な意味は、VSCode 公式サイトに記載されている。

QooQ