This VSCode extension allows interfacing with the Diplomat Language Server, available as slang-lsp
in slang-lsp repository.
Diplomat is a language server based upon slang and written in C++ . It works by actually elaborating the designs in your workspace, thus enabling checks across files that takes instanciations into account.
git clone git@github.com:suzizecat/diplomat-vscode.git
cd diplomat-vscode
npm install
npm run publish
code --install-extension diplomat*.vsix
The detailed documentation will be available here
This extension brings support for SystemVerilog language in VSCode. The following feature are supported:
- Workspace files detections
- Error and warning checking
- Go to definition (across files)
- Go to/Find all references (across files)
- Code coloration
- Instanciate module
- Set top level of the design
- Open waveforms in GTKWave (if available)
- Ignore files and patterns
- Format file (ongoing)
Have a compiled version of slang-lsp
available.
See slang-lsp repository for more information.
This extension contributes the following settings:
diplomatServer.serverArgs
: Arguments used when invoking the server.diplomatServer.index.validExtensions
: Files extension to read for indexingdiplomatServer.server.useTCP
: Connect to an instance of Diplomat Server that have been started in TCP mode.diplomatServer.serverPath
: Command to use for Diplomat ServerdiplomatServer.tools.GTKWave.path
: Command to use for GTKWavediplomatServer.tools.GTKWave.verbose
: Makes GTKWave verbose by forwaring all STDIO outputs to the extension outputdiplomatServer.tools.GTKWave.options
: Other options to pass to GTKWave on invokation.