UVVM VIP Hover
UVVM VIP Hover turns VVC references in VHDL into compact interface documentation. Hover a UVVM entity or its instantiation label to inspect generic defaults, public ports, the matching UVVM documentation, and the local declaration without leaving the editor.


Features
- Discovers a UVVM checkout from
vhdl_ls.toml, including nested Git submodules, or uses a configured source root.
- Indexes entities from
bitvis_vip_*/src and external_vip_*/src.
- Supports direct instantiations, qualified entity references,
work references, component declarations, and UVVM library names.
- Displays every generic and port in compact, source-like VHDL declaration blocks.
- Places the matching UVVM online guide directly below the VVC hover title.
- Adds source-declaration links to each VVC hover.
- Shows indexing state in the VS Code status bar and refreshes the index after UVVM source changes.
- Preserves a partial index when an individual source file cannot be read.
Usage
Hover any part of a UVVM VVC instantiation:
i1_uart_vvc : entity bitvis_vip_uart.uart_vvc
The status bar displays UVVM VIP: <count> when the index is ready. Select it to inspect the active UVVM root and index status.
Commands
UVVM VIP Hover: Rebuild Source Index
UVVM VIP Hover: Show Index Status
Configuration
| Setting |
Default |
Purpose |
uvvmVipHover.uvvmRoot |
Auto-discover |
Absolute or workspace-relative path to the UVVM source root. |
uvvmVipHover.documentationBaseUrl |
https://uvvm.github.io/ |
Base URL for UVVM documentation links. |
uvvmVipHover.showSourceLink |
true |
Adds a link to the local entity declaration. |
Set an explicit root when the workspace does not contain a discoverable vhdl_ls.toml:
{
"uvvmVipHover.uvvmRoot": "C:/path/to/UVVM"
}
Development
Node.js 20 or newer is required for builds and tests.
npm install
npm run compile
npm test
Create a Marketplace prerelease package with npm run package. The command uses npx to fetch the current @vscode/vsce packager and writes a .vsix file in the project root.
For a normal VS Code window, install the generated VSIX so the extension runs alongside the VHDL project being edited. The F5 profile remains useful for debugging extension code in an Extension Development Host.
Scope
UVVM VIP Hover is a declaration browser, not a VHDL compiler. It intentionally leaves an unqualified entity unresolved when more than one VIP library defines that name. The local source declaration remains the authoritative reference for complex types and default expressions.
Publishing
The account-specific publishing steps are documented in PUBLISHING.md. The source is ready for a public repository, but the Marketplace publisher name, public GitHub URL, and publishing token must come from the project owner.