Esbonio#
esbonio – (v.) to explain
Esbonio aims to make it easier to work with reStructuredText tools such as Sphinx by providing a Language Server to enhance your editing experience.
Language Server#
Here is a quick summary of the features implemented by the language server.
The language server implements textDocument/completion and can offer suggestions in a variety of contexts.

The language server implements textDocument/definition to provide the
location of items referenced by certain roles. Currently only the :ref:
and :doc:
roles are supported.

The language server implements textDocument/publishDiagnostics to report errors/warnings enountered during a build.

The language server implements textDocument/documentLink to make references to other files “Ctrl + Clickable”

The language server implements textDocument/documentSymbol which powers features like the “Outline” view in VSCode.

The language server implements textDocument/hover to provide easy access to documentation for roles and directives.

The language server implements textDocument/implementation so you can easily find the implementation of a given role or directive.

See the Getting Started guide for details on how to get up and running.
For further details on more advanced use cases, see the Advanced Usage section.
Interested in adding support for your own Sphinx extensions? See the section on Extending for more information.
Sphinx Extensions#
In addition to the language server, the Esbonio project provides a number of Sphinx extensions.
Relevant To: Swap out sections of an article based on a chosen subject.
Tutorial: Export tutorial articles as Jupyter Notebooks