はじめに
2024年もPythonまわりのEmacsの設定を色々と試してみる。
設定
- Python-mode
MELPAからインストール可能。 melpa.org
- Language server
Emacsからlanguage serverを使うためにeglotを入れる. 最近はeglotはEmacsに最初から入るようになったようだ。
PythonのLauguage serverとしてpython-lsp-serverおよびプラグインのpython-lsp-ruffを入れる。Ruff自体が高速なPython linterであり,それを活用するpython-lsp-ruffも当然高速(動作が軽い)。
- その他の3rd Party Plugins
pip3 install python-lsp-isort pip3 install python-lsp-black
python-lsp-isortはimport順を自動でソートしてくれるパッケージである。 python-lsp-blackはblackの仕様に沿ってコードをフォーマットしてくれるパッケージである。
実際の設定はこんな感じ。
;; Python (add-hook 'python-mode-hook #'eglot-ensure) ;; 保存時に自動整形 (eglot) (add-hook 'python-mode-hook #'(lambda () (add-hook 'before-save-hook 'eglot-format-buffer nil t)))
追記
RuffをEmacsから触るときには以下の記事もまた参考になる。