SystemVerilog extension for VSCode
The extension offers:
Applying SystemVerilog color theme
SystemVerilog theme is based on Dark+. The theme does not prevent other language coloring.
The extension collects the following information.
The directives of define/undef/ifdef/else/endif/include/timescale are supported.
However, hints and completion of text macros are not supported. Nested preprocessing is currently limited
The following grammar set are not supported.
Mouse hover displays collected information on it.
Completion hints for module ports are triggered by "." in port connection description.
Completion hints for variables are triggered automatically. To explicitly invocate, press [Ctrl+Space] for any time, press "." after structured variable, press "::" after scopes such as package.
Also, nested struct/pkg/class declarations can be resolved.
Signature help triggered by typing "(" after module instantiation and function/task call.
Press [Ctrl+Shift+O], then the document symbols are displayed, type ambiguously to narrow candidates, select symbols to jump.
Also, outlines are available in the left pain.
Press [Ctrl+Left click] to jump to the definition. [F12] also jumps.
Press [Alt+F12] to show in inline editor.
Press [Shift+F12] to call all references of the variable.
All commands are called with [Ctrl+Shift+P] "sv:----".
(Other commands are specific to my personal use)
Instatiating module command
Call "sv:Instantiate module" on module entity, then all port connection templates are expanded in declaration order.
Auto indentation command (beta)
Indent and align automatically.
Clumsy feature for ordinary users because this functionality is not based on parser.
Setup for developping (from git repository)
You need to install ANTLR4 (http://www.antlr.org/).
Add ANTLR4 to your environment PATH, letting the following command be executable.
After you clone the repositiory, you should run vscode tasks.
npm install and post install will run. Now you can use the extension.
Furthermore, if you want to develop or customize, run:
Parser *.ts are generated from grammer files.
Create your own commands