lsp-modeによりemacsでもLanguage Serverを利用できます。素朴な構成ではlsp-modeがプロジェクトを検出して動作しますが、サブディレクトにプロジェクトルートを置くようなネスト構成には注意が必要です。
たとえば、rust-analyzerはプロジェクトルートのCargo.tomlを探索するため、サブディレクトリのプロジェクトでは起動しません。
複雑な構成の場合には、初回にソースファイルを開いた際にLSPが表示するプロジェクトインポートの選択で、Import project by selecting root directory interactively
を選ぶことでターゲットディレクトリを手動設定できます。
projectileとは挙動が独立している点には注意が必要です。
また、lsp-modeの構成はセッションファイルに記録されており、.emacs.d/.lsp-session-v1
といったファイルを削除するとインポートからやり直せます。
⁋ 2021/02/08↻ 2024/11/07
中馬崇尋
Chuma Takahiro
Chuma Takahiro