Setup Lite XL as an IDE
Lite XL can be configured to be a proper IDE for most programming languages. The following is a brief overview of the plugins that, when used together, provide the experience of a minimal and modern IDE.
Bells and Whistles
The following plugins are meant to enrich Lite XL with handy features that improve the coding experience:
autoinsertandlfautoinsertadd automatic bracket/quote insertion and text-wrapping.autosaveallows automatic file saving after every change.bracketmatchunderlines brackets matching pairs under the caret.colorpreviewunderlays color values (e.g.#ff00fforrgb(255, 0, 255)) with their respective color.indentguideadds indent guides to make it easier to see function boundaries.rainbowparenapplies rainbow colors to nesting parentheses to make it easier to distinguish them.scalestatusdisplays current scale (zoom) in the status view (it depends on thescaleplugin).selectionhighlighthighlights regions of code that match the current selection, to preview for search/replace actions.sticky_scrollkeeps track of the current scope at the top of the view.minimapadds VSCode's minimap.deviconsprovides fancy icons in the project treeview for many file types.meta_colorsinstalls all available theme files.
Syntax Highlighting
meta_languages installs all supported syntax-highlighting plugins.
Intellisense
lsp is a plugin that provides support for Intellisense (code completion, goto-definition, document symbols, function signatures and so on) through the LSP protocol, while lintplus provides support for info/warning/error diagnostics.
There is also lsp_snippets, which adds snippets support from lsp to the snippets plugin.
lsp can be configured manually by following the official guide, or it can interface with the lite-xl-lsp-servers repository that allows the installation of bundled LSP servers, which don't require manual configuration.
An example of installing bundled LSP servers is lpm install lsp_rust which installs the binary files required to run rust-analyzer.
Code Snippets
snippets adds support for code snippets.
Snippets can easily be added by following the official guide.
Code Formatters
formatter provides file-specific formatting for several programming languages.
Integrated Terminal
terminal provides an integrated terminal.
Version Control
scm provides source code control integration to Lite XL.
gitblame can be added to show git commit information of the line where the cursor rests.
TODO Treeview
todotreeview is a plugin that adds a custom treeview with the goal of keeping tracks of flagged comments (TODO, WIP, FIX, ...) for better workflow organization.
More flags can be added in the init.lua following the official guide.
Build Integration
build provides a build system, messages window, and easily clickable errors.
At the moment it only supports make, but it can be extended to any build system.
Debug Integration
debugger provides debugger integration, with pluggable backends.
At the moment it only supports gdb.
Automatic Setup
The following examples are configurations and scripts that bundle together the essential components of a minimal IDE:
- Adam's configuration contains the
buildanddebuggerplugins, as well as several IDE meta-packages (e.g.ide_c,ide_java,ide_python) that add IDE-like functionalities to Lite XL for many popular programming languages. - PerilousBooklet's configuration contains documentation about IDE support progress status for Lite XL.