# Editors Elements ships one language server, `elements-lsp`, and every editor integration talks to it: diagnostics, completion, hover, go-to-definition, references, rename, and project-wide symbol search for `.ts`, `.js`, HTML templates, `.jsoc`, and `.css`. It is the same checker the build runs, so the editor and `elements build` report the same errors. See `typescript`. There is nothing to set up. Installing Elements installs the VS Code extension and the Vim and Neovim plugin for every editor it finds. Each integration attaches only inside an Elements project, a directory holding the `.elements/id` marker that `elements create` writes, so your other work is untouched. `elements-lsp` ensures the project server is running at the installed version and connects the editor to that project's LSP socket. VS Code dials the socket directly. Vim and Neovim launch `elements-lsp stdio`, which bridges stdin and stdout to the same socket. Server-side detail for any editor is in `.elements/logs/project.log`.