VHDL Language Server and Support for Visual Studio Code.
- VHDL-2008 parser
- Syntax checks
- Syntax highlighting
- Semantic analysis (see Rust HDL for details)
- Library mapping
VHDL LS uses the Rust HDL
Language Server. Pre-compiled binaries are provided with the extension but the server
can also be loaded from either the system path or using Docker depending
on the value of the vhdlls.languageServer
property.
embedded
: Use the embedded binary.user
: Use path provided by user invhdlls.languageServerUserPath
property.systemPath
: Runvhdl_ls
from path.docker
: Use docker image (Only supports files below workspace root)
NOTE: On Linux, it may be necessary to set -x on the vhdl_ls binary.
For instructions on compiling the language server, see Rust HDL
The language server uses a configuration file in the TOML format named vhdl_ls.toml
.
The file contains the library mapping of all files within the project. Files outside of the project without library mapping are checked for syntax errors only.
vhdl_ls
will load configuration files in the following order of priority (first to last):
- A file named
.vhdl_ls.toml
in the user home folder. - A file name from the
VHDL_LS_CONFIG
environment variable. - A file named
vhdl_ls.toml
in the workspace root.
Library definitions in later files redefines those from previously loaded files.
Example vhdl_ls.toml
# File names are either absolute or relative to the parent folder of the
# vhdl_ls.toml file and supports glob-style patterns.
[libraries]
lib2.files = [
'pkg2.vhd',
'src/**/*.vhd',
]
lib1.files = [
'pkg1.vhd',
'tb_ent.vhd',
]
Issues can be reported at VHDL LS
As VHDL LS uses the Rust HDL language server, issues related to syntax and
semantic checks should be reported directly to
Rust HDL
Syntax coloring is based on the textmate vhdl.tmbundle
The VSCode extension VHDL LS
is available under the MIT license.
The Rust HDL VHDL language server is available under the Mozilla Public License, v. 2.0.