Sigasi Studio for VS Code Editor


Syntax and Semantic Highlighting

The Sigasi extension supports syntax and semantic highlighting.

  • Syntax highlighting: colors code according to the lexical classification (such as keyword or string)
  • Semantic highlighting: colors code according to its meaning (different colors for constants and signals)

Note that some VS Code themes might not support semantic highlighting. Be sure to use the default VS Code themes if you’re missing this feature.

  • In a theme that supports semantic highlighting, you’ll see that e.g. port, signal, and type names have a color that is different from the language keywords.
    Supported semantic highlighting
  • In a theme that does not support semantic highlighting, names like those of a port, signal, or type will have the default text color.
    Unsupported semantic highlighting

The latter might also happen when there’s no .project file in your root directory. Without it, the Sigasi extension does not start and only provides basic syntax highlighting.

User-Defined Code Snippets

VS Code supports user-defined code snippets as explained here . To add snippets yourself, follow the steps below.

  • Open the Command Palette (Ctrl+Shift+P) and type Snippets
  • Select Snippets: Configure User Snippets
  • Type vhdl or systemverilog to open the corresponding JSON file where you can add your snippet like the examples below.

VHDL Snippet Example

{
    // Place your snippets for VHDL here.
    "package declaration": {
        "prefix": "package",
        "body": [
            "package ${1:name} is",
            "\t$0",
            "end package $1;"
        ],
        "description": "Insert package declaration"
    }
}

SystemVerilog Snippet Example

{
    // Place your snippets for Verilog and SystemVerilog here.
    "always posedge clk": {
        "prefix": "always",
        "body": [
            "always @(posedge ${1:clk}) begin",
            "\t$0",
            "end"
        ],
        "description": "Insert an always block with posedge clock"
    }
}

Sticky Scroll

Sticky scroll in VS Code

You can use the sticky scroll to navigate through your HDL code more easily. This configuration can be enabled with the key editor.stickyScroll.enabled

Stuttering

VHDL editors support stuttering, which is enabled by default but can be toggled using the configuration option Enable stuttering with the key sigasi.vhdl.stuttering.