VSCode拡張機能のBlack Formatterとisortを用いたPythonのコードフォーマット

概要

VSCode拡張機能として利用できるPythonのコードフォーマッタBlack Formatterおよびisortの使い方を紹介します。

Pythonのコードフォーマッタの拡張機能

PythonのコードフォーマッタのBlackおよびisort は元々 pip install コマンド等によりインストールする形で提供されていましたが、2022年5月のVSCodeのアップデートVSCode拡張機能としても提供されるようになりました。

この拡張機能を利用することで、仮想環境を利用している場合でも個別の環境にフォーマッタをインストールする必要がなくなります。普段VSCodeや仮想環境を利用して開発している私にとっては管理が楽で気に入っています。

それぞれの拡張機能マーケットプレイスからインストールできます。2022/12/26現在、いずれもプレビュー版です。

Black Formatter

Black Formatterはコード全体に対するフォーマッタで、演算子の前後のスペースや改行の位置などを整形してくれます。

保存時にフォーマットが実行されるように設定した時のデモです。

isort

isortはインポートの順序を整列するフォーマッタで、インポートの序列が自動で統一されます。

保存時にフォーマットが実行されるように設定した時のデモです。

設定ファイルの記述方法

拡張機能をインストールしたら、settings.json に以下の設定を追記します。これを追記すると、Pythonスクリプトの保存時にフォーマットが実行され、コード全体とインポートの序列が整形されます。

    "[python]": {
        "editor.defaultFormatter": "ms-python.black-formatter",
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        }
    },
    "isort.args": [
        "--profile",
        "black"
    ],

デフォルトでは1行の文字数が88文字で改行されるようになっています。1行の文字数を120文字などに長くしたい場合は以下のように設定を追記します。

    "black-formatter.args": [
        "--line-length=120"
    ],