Flake8の文字列の長さとBlack Formatterの自動整形する文字列の長さを統一する方法【VSCode Python】

技術

はじめに

以前VSCodeのPythonでのオススメ拡張機能を紹介しました。

その中のFlake8の文字列の長さと、blackfomatterの文字列の長さを統一する方法を解説します。

そもそも何が問題か

Flake8はPythonのコーディング規約「PEP8」を基準に、警告を出してくれる拡張機能になります。

その中で、E501というのがあり、その警告内容が「一定の文字列の長さになると警告を促す」というものになります。

一方、Black FormatterはPythonコードを自動整形してくれる拡張機能になります。

このBlack Formatterでは、一行の文字の長さが一定数になると、自動で改行してくれる仕組みがあります。

デフォルトの設定では、この2つの拡張機能の最大文字数の設定が、それぞれでバラバラになっています。また、Flake8の方が警告を促す文字数が少ないので、Black Formatterが働く前に警告が出てしまうという事象に陥ります。競合しているというわけですね。

特段問題はないですが、コーディングの体験に影響を及ぼすと思うので、どちらかの設定に統一したほうが良いかなと思います。

今回はFlake8のE501の警告表示文字数および、Black Formatterの自動フォーマットの最大文字数の変更方法について解説します。

設定方法

今回はsetting.jsonを使用した設定方法を紹介します。

なお、「設定」からsetting.jsonを使用せずに設定する方法もありますが、setting.jsonで設定したほうが早いと思います。

Flake8に合わせるか、Black Formatterに合わせるかは正直好みかなと思います。

{

  "black-formatter.args": [
    "--line-length=79" /* BlackFormatter側に合わせるなら「88」に設定 */
  ],
  */
  "flake8.args": [
    "--max-line-length=88" /* Flake8側に合わせるなら「79」に設定 */
  ],

}
JSONC

皆さんのお好みで調整してください。

設定後のBefore/After

Flake8の設定をBlack Formatter側に合わせて最大文字数を「79」→「88」に変更した時のBefore/Afterの画面を紹介します。

【Before(設定前)】

【After(設定後)】

おわりに

今回はFlake8のE501の警告表示文字数および、Black Formatterの自動フォーマットの最大文字数の変更方法について解説しました。

以前の記事でも書きましたが、大きく困らないけど、毎回微妙にストレスというものは設定などで極力避けていきたいですね。

少しでも快適にコーディング作業ができるように、設定はアップデートしていきたいと思いました。

ご参考になれば幸いです。