🛠️
RuffのVSCode拡張機能設定
はじめに
最近までflake8
black
isort
などを使ってPythonのコードをカキカキしていたが、プロジェクトがひと段落して、新しいプロジェクトの環境構築することになった
以前から気になっていたRuff
を使ってみようと思ったのがきっかけ
書くこと
- VSCodeでRuffのFormatOnSave(自動フォーマット)ができるようになるまでの手順
書かないこと
- VSCode自体の環境構築方法
- pythonプロジェクトの環境構築方法
- Ruffの詳細な説明など
💻my環境
言語・ライブラリなど | バージョン |
---|---|
PC | MacBook Pro M1 Pro |
python | 3.10.13 |
poetry | 1.6.1 |
ruff拡張機能 | v2024.20.0 |
VSCode | 1.88.1 |
設定方法
拡張機能インストール
VSCodeの拡張機能でRuff
と検索し、インストール
拡張機能 Ruff
settings.json
設定ファイルは.vscode/settings.json
に書き込む
ない場合は作成してもらえればよい
.
├── .vscode
│ └── settings.json # こいつ!
├── README.md
├── poetry.lock
├── pyproject.toml
└── src
└── project_name
├── __init__.py
└── main.py
settings.json
{
"[python]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit",
"source.organizeImports": "explicit"
},
"editor.defaultFormatter": "charliermarsh.ruff"
}
}
pyproject.toml
ruffの詳細な設定は、pyproject.toml
やruff.toml
でできるようだ参照:Configuring Ruff
詳細はこれから調べるとして、今までのflake8
black
isort
の代替がとりあえずできるように設定してみた。設定内容は以下。
pyproject.toml
[tool.ruff]
exclude = [
".venv",
".ruff_cache"
]
line-length = 119
indent-width = 4
target-version = "py310"
[tool.ruff.lint]
select = [
"F", # Flake8
"B", # Black
"I", # isort
"E", # error
"W" # warning
]
ignore = []
fixable = ["ALL"]
できた!
色々できるようになっているはずだが、この状態でセーブすると
save前
行間のフォーマットや、importの削除とかやってくれた
save後
おわりに
Ruffのフォーマットが効くまでの設定をやってみました😎
やってみたというほどの内容はないですが、あれ入れてこれ入れてというのがなく、お手軽な点はポイント高い
Discussion