Multi root servers
Multi-root means that one server can handle multiple projects, but the default behavior of lsp-mode is to load all projects for this language server at once.
To make it load folders on demand, add the following in (after! lsp-mode ...)
.
Even if all projects are loaded, cross-project references does not work. Move related projects into a workspace folder and create the special .projectile
file to let Projectile treat it as a whole.
State Files
Session information is stored in the file pointed to by lsp-session-file
.
To remove a project from history, run lsp-workspace-folders-remove
.
To list all current projects, run lsp-describe-session
.
Debugging
dap-mode is another package hosted under the emacs-lsp organization. It is integrated with and depends on lsp-mode.