A cross-platform implementation of the Language Server Protocol providing rich cross-editing support for the LaTeX typesetting system. The server may be used with any editor that implements the Language Server Protocol.
If your editor extension like does not install the TexLab server automatically, you will need to install it manually. We provide precompiled binaries for Windows, Linux and macOS. Alternatively, you can build TexLab from source or install it using your package manager. For a list of supported package managers, you can take a look at Repology:
A TeX distribution is not strictly required to use the server but TexLab cannot compile your documents without one. TexLab supports compiling using Tectonic. For an example configuration, please see here.
On Windows, you may need to install Microsoft Visual C++ Redistributable for Visual Studio 2015.
You will need to install the following dependencies to compile the server:
Then run the following command in the project folder:
cargo build --release
Avoid installing texlab
from crates.io
because we don't publish new versions of the server to the registry, anymore.
Instead, you can use
cargo install --git https://github.com/latex-lsp/texlab --locked --tag <insert version here>
After installing an editor extension, you can simply start editing LaTeX files. All editing features work out-of-the-box over all files in the currently opened workspace.
There is no need for magic comments like %!TEX root
and TexLab should figure out the dependencies of a file on its own.
Note that you may need to set the texlab.rootDirectory
option for some multi-folder projects.
TexLab features a variety of options which can be used to configure features like building or forward search.
See the Wiki for more information.
You can create a debug build by building the server without the --release
flag.
The resulting build can be used with the Visual Studio Code extension
by adding the absolute path of the target/debug
folder to your PATH
environment variable.
TexLab has an extensive test suite of unit and integration tests. You can run them by executing
cargo test
in the project folder.
See CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.