30
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCodeでPythonのLinter/Formatterの拡張機能が出たらしい

Last updated at Posted at 2023-09-06

(2024/02/06 追記)
こちらの記事で紹介している拡張機能はPython3.7以下では動作しないようです。

(2024/12/04 追記)
Ruffに乗り換えました!記事はこちら👇️

はじめに

Pythonの新しいLinter、Formatter用の拡張機能が追加されたみたいです。
それに伴って今までのやり方は非推奨になるようなので、この拡張機能を利用していない人は切り替えましょう(私も最近気が付きました:frowning2:)。

なので、拡張機能の導入手順を残しておこうと思います。

この拡張機能を使えば、Flake8とかautopep8とかのパッケージをpipでインストールしなくてもいいらしい。
嬉しいですね:angel:

詳細は以下のページに書いてありました。

(2024/5/12 追記)
今更気が付きましたが、同じことを書いてる方がいました。
旧設定方法からこの記事で紹介している拡張機能に変更したい方は、👇️の記事を参考にすると良いと思います。

サクッと一から設定したい方は私の記事でも十分かと思います。

おことわり

それぞれの拡張機能の役割については説明しません。

追加になった拡張機能

拡張機能名 ID 導入方法 無効化方法
Pylint ms-python.pylint インストールするだけでOK 拡張機能を無効化
Flake8 ms-python.flake8 インストールするだけでOK 拡張機能を無効化
Mypy Type Checker ms-python.mypy-type-checker インストールするだけでOK 拡張機能を無効化
Black Formatter ms-python.black-formatter こちら 導入方法に記載
autopep8 ms-python.autopep8 こちら 導入方法に記載
isort ms-python.isort こちら 拡張機能を無効化

導入方法

Black Formatter

手動での設定方法

  1. Black FormatterをインストールするとVSCodeの設定内のdefaultFormatterで
    Black Formatter(ms-python.black-formatter)が選択できるようになるので、
    デフォルト設定にします。
    image.png

  2. formatOnSaveにチェックを入れます
    このチェックを入れることで、保存時に自動で整形してくれます。
    自動整形を無効化したい場合は、チェックを外してください。
    image.png

設定ファイルを書き換える場合

settings.jsonを以下のように設定します。

settings.json
{
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
}

autopep8

基本的な手順はBlack Formatterと同じです。

手動での設定方法

  1. Black FormatterをインストールするとVSCodeの設定内のdefaultFormatterで
    autopep8(ms-python.autopep8)が選択できるようになるので、
    デフォルト設定にします。
    image.png

  2. formatOnSaveにチェックを入れます
    このチェックを入れることで、保存時に自動で整形してくれます。
    自動整形を無効化したい場合は、チェックを外してください。
    image.png

設定ファイルを書き換える場合

settings.jsonを以下のように設定します。

settings.json
{
    "editor.defaultFormatter": "ms-python.autopep8",
    "editor.formatOnSave": true
}

isort

Alt + Shift + O で下記のようにimport文が自動でソートされます。
isort.gif

保存時に自動で整形されるようにしたい場合settign.jsonを以下のように設定します。
※この機能を利用したい場合は、先にFormatterを入れておく必要があります。

settings.json
{
    "[python]": {
        "editor.defaultFormatter": "ms-python.autopep8", // Black Formatterを使用したい場合は`ms-python.black-formatter`
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
            "source.organizeImports": true
        },
    },
}
30
23
0

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
30
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?