glsld
glsld is a language server and Visual Studio Code extension for GLSL. It provides language-aware editing features for shader projects, including preprocessing, semantic analysis, cross-file navigation, and background indexing. SetupInstall the extension, open a folder containing GLSL source files, and configure the directories that should be indexed:
The Windows extension package is intended to include the glsld server. A custom server executable can also be selected with Code completionglsld completes GLSL keywords, types, variables, functions, structure members, and other symbols available at the cursor.
Extended completionExtended completion supplies context-aware candidates beyond direct symbol-name matching, helping complete common GLSL constructs and declarations.
Include completionInclude paths are completed relative to the current file and the configured include directories.
Overload resolveWhen a function has multiple signatures, glsld presents its overloads so that the appropriate parameter list and return type can be selected.
Signature helpSignature help shows the active overload and highlights the parameter currently being entered.
DiagnosticsSyntax and semantic errors are reported while editing. Diagnostics can be enabled or disabled with
Go to definitionJump from a symbol use to its declaration or definition, including symbols declared in included files.
Find referencesFind symbol references across the workspace. Background indexing allows references in files that have not been opened in the editor to participate in the result.
References are tracked across include boundaries as well as within the current file.
HoverHovering over a symbol displays its declaration and relevant type information.
Inlay hintsglsld can display inline hints that make shader code easier to read. They can be toggled with
Document symbolsThe document outline exposes declarations in the current shader and supports quick navigation through the file. Preprocessor variantsMacro variants can be configured for the whole workspace or for an individual shader. The extension sends the active variant state to the server and refreshes affected documents when it changes.
Compile groupsCompile groups collect shaders using configurable source patterns, command templates, output paths, macro variants, and concurrency settings. They can be compiled directly from the glsld sidebar.
ConfigurationUser-controlled settings belong in
The If Building the extension
Current limitations
Licenseglsld is licensed under the GNU General Public License v3.0 only ( |