Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>HSPICE IntelliSenseNew to Visual Studio Code? Get it now.
HSPICE IntelliSense

HSPICE IntelliSense

Vladimir Aptekar

|
46 installs
| (0) | Free
Syntax highlighting and navigation for HSPICE netlist files
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

HSPICE IntelliSense

VS Code extension for HSPICE (.sp, .spi, .hsp, .cir, .net, .lib, .l) and Spectre (.scs) netlist files.

When working with (large) netlists without access to schematics, understanding circuit connectivity means manually tracing through instance statements, subcircuit definitions, and include chains. This extension brings IDE-quality navigation to that workflow: jump from an instance to its subcircuit or model definition, trace a node name on an instance terminal to the corresponding port in the .SUBCKT, and browse the full circuit hierarchy across .INCLUDE files — all without leaving the editor.

It is particularly useful for R&D engineers who develop or validate circuit simulation tools and regularly need to inspect raw netlist structure at the source level.

Features

Go to Subcircuit Definition — F12

Place the cursor on a subcircuit name in the instance statement (the name at the end of an X instance line) or a device model name in the device statement and press F12 to jump to the .SUBCKT or .MODEL definition. Works across files linked by .INCLUDE, .INC, or .LIB — included files do not need to be open.

Go to Port Definition — F12

Place the cursor on instance statement's node and press F12 to jump to the port node in .SUBCKT definition. Check settings for which instances are indexed for this feature.

Find References — Shift+F12

Place the cursor on a .SUBCKT or .MODEL name (or an instance statement) to list every instance that references it across all open files. Check settings for which instances are indexed for this feature.

Hover

Hover over a subcircuit name in the instance statement to see its port list. Hover over a model reference to see its type (e.g. nmos, pnp).

Hover over node name in the instance statement to see corresponding subcircuit's port node name. Check settings for which instances are indexed for this feature.

Scoped Search

Right-click anywhere in an instance or subcircuit statement to search for text within that statement's range only - which is useful when statements consist of multiple lines, often spanning several pages. Three commands are available in the "HSPICE IntelliSense" context submenu: Search in Inst Statement, Search in Subckt Statement, Search in Subckt Body. Results appear in the References panel.

Statement Navigation

Six commands in the "HSPICE IntelliSense" context submenu jump to the start or end of the current instance or subcircuit statement, or subcircuit body: Go to Inst Statement Start/End, Go to Subckt Statement Start/End, Go to Subckt Body Start/End.

All commands are also available from the Command Palette and can be assigned keyboard shortcuts.

Include File Navigation

Ctrl+CLick file name in .include/.inc/.lib statement - VS Code will navigate to that file. Environment variables in .include paths (e.g. $VAR or ${VAR}) are resolved against the process environment.

Environment Variable Expansion in Include File Path

Ctrl+Hover environment variable name in the include file path in .include/.inc/.lib statement - VS Code will display the value of the environment variable.

Syntax Highlighting

Comments (*, $, ;, //), dot-commands (.SUBCKT, .MODEL, .TRAN, …), Spectre keywords (subckt, model, include, parameters, global) and analysis directives (tran, dc, ac, noise, pss, …), device instances, key=value parameters, and numeric literals with engineering suffixes (n, u, m, k, M, G, etc.) are all colorized.

Outline View

The Outline panel (Explorer sidebar) lists all .SUBCKT and .MODEL definitions in the current file, with clickable navigation.

Diagnostics

The extension warns (yellow squiggle) on:

  • Undefined subcircuit: an X instance references a subcircuit name not found in any open file
  • Port count mismatch: an X instance provides a different number of nodes than the .SUBCKT definition declares ports

HSPICE/Spectre Format Support

Feature Detail
Case sensitivity Controlled by a setting - case-insensitive by default; original case preserved for display
Line continuation + at line start joins to the previous line (HSPICE)
Line continuation \ at line end joins to the next line (Spectre)
Comments * full-line; $ or ; inline (stripped before parsing); // Spectre comment
.INCLUDE / .INC / .LIB Resolved relative to the including file's directory; path may be quoted (single or double) or unquoted
Devices X (subckt), M (MOSFET), Q (BJT), D (diode), R/C/L (passives), V/I (sources), E/F/G/H (controlled sources), and more

File Extensions

The default recognized extensions are .sp, .spi, .hsp, .cir, .net, .lib, .l for HSPICE files, .scs for Spectre files. The full list is controlled by the extension's settings — open Settings → Extensions → HSPICE Intellisense to add or remove entries.

When the extension follows an .INCLUDE / .INC / .LIB chain and reads a file from disk, it automatically switches that file to HSPICE mode if its extension is not in the list — so F12 navigation into included files works immediately regardless of their extension.

For a one-off file, click the language indicator in the bottom-right status bar and select HSPICE Netlist or Spectre Netlist.

Known Limitations

  • Nested .SUBCKT definitions are not supported (not valid HSPICE syntax).
  • Port count mismatch warnings may be spurious for subcircuits using $PINS or non-standard port constructs.

Installation

From VSIX file:

  1. Open VS Code
  2. Ctrl+Shift+P → Extensions: Install from VSIX…
  3. Select hspice-intellisense-0.3.0.vsix
  4. Reload when prompted

From Marketplace: Search for HSPICE IntelliSense in the VS Code Extensions marketplace.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft