見出し画像

VSCodeにPython用リンター/フォーマッターRuffを導入する

Pyxelの勉強のためにVSCodeでPythonコードを書くことにしたけど、リンター/フォーマッターを入れてなかったので導入してみる。軽く調べた感じで良さげな Ruff を採用。
Python用のリンター/フォーマッターはもともといろいろあってそれらを組み合わせて使うのが主流だったぽいが、Ruffは両方の機能を持っているのでこれだけ導入すればいいらしい。
ちなみに今のところVSCode上でのみ使う予定なのでコマンドライン版は導入しない。


リンター/フォーマッター

リンター(Linter)

コードの静的解析ツール。実行前にコードの潜在的な問題点を指摘したり、スタイルチェックなど行ってくれるもの。未使用変数とかルールに則ってない書き方を指摘してくれる。

フォーマッター

インデント統一や、空白や改行の統一を行ってくれるもの。コードの見た目を揃えてくれる。

VSCode拡張の導入

VSCodeの拡張機能から "ruff" を検索して拡張機能を見つけてインストールする。

Ruff - Visual Studio Marketplace

設定追加

ファイル > ユーザー設定 > 設定 に移動して、ユーザーのsetting.jsonを開く。
以下 の設定を追加する。

{
   ... 他の設定 ...

    "[python]": { // Python用設定
        "editor.formatOnSave": true, // ファイル保存時に自動でフォーマットする

        "editor.codeActionsOnSave": { // ファイル保存時に
            "source.fixAll": "explicit", // 問題を修正
            "source.organizeImports": "explicit" // import文を整理
        },

    // PythonフォーマッターとしてRuffを使用
        "editor.defaultFormatter": "charliermarsh.ruff" 
    },
}

これで設定完了。

動作確認

だいぶ適当なスペースや空行でコードを書いて

ファイルを保存すると、無事自動でフォーマットされた。

これでお手本通りに綺麗にスペース空けて書かなくてもいいので入力が楽になる。

それにしても最近は Ruff とか mise とかRust製のツールが進出してきている印象。

参考サイト

[初心者向け]VSCodeにRuffを設定する #Python3 - Qiita

いいなと思ったら応援しよう!