V4P - VHDL for Professionals
This extension provides full VHDL (2008) programming language support for Visual Studio Code. It is intended for professional VHDL developers who need sophisticated IDE support for their daily work, but of course every VHDL engineer - whether student or hobbyist - will benefit greatly from the rich feature-set. Functions like renaming, code navigation capabilities, syntax checks, etc. are only some examples of how V4P makes hardware design more efficient.
List of Features
Visual Studio Settings
- VHDL 2008 support
- Full Syntax Support, no limitations: Generic Packages, Generic Subroutines, External/Hierarchical Names, Enhanced Bit String Literals, Protected Types, Contexts, Vector Aggregates, Conditional Statements, ...
- Syntax Highlighting
- Syntax Errors
- Built-In Standard IEEE libraries
- Semantic Highlighting (Signals, Variables, Constants, Generics, Types, ...)
- Type-Time Error Checks
- Syntax Errors
- Symbol Not Found Error
- Find all References
- Refactoring (Rename)
- Code Navigation
- Goto Definition
- Goto Declaration
- Goto Type Definition
- Hover Info / Quickinfo (colorized 😉 )
- Symbol Information, Type Information
- Recursive Type Resolution
- Recursive Alias Resolution
- Number Conversion
- Code Completion (context sensitive)
- Snippets (Instances, Case, Processes, Entities/Architectures, ...)
- Symbols (Variables, Signals, Constants, Types, ...)
- Hierarchy/Record/Protected Type Name Resolution
- Parameter Help for (overloaded) functions/procedures/components/instances
- Smart Indentation when typing
- VHDL specific Outlining / Code Folding
- Multiple VHDL libraries per Design File
- Per-Folder / Project-Wide Preferences
- Formatting (Keyword-style, Capitalization of Standard-Libs, ...)
- Code Completion
- Hover Info
Semantic Highlighting and Error Checking
Snippets: Instantiate Entites
Snippets: Case/When for Enumeration
Code Completion: Record Field Resultion
I try to release new versions at least every two months. The features below are not listed in any particular order.
- More Error Checking (signal vs. variable assignment, already defined, cannot assign to, ...)
- Symbol Hierarchy
- Hover Info / Quickinfo
- Code Formatting
- Code Statistics (lines of code, comments, empty lines etc)
A detailed description of the config files can be found in the CheatSheet.
- Create a file named
config.v4p in one (or more) of your workspace / root folders
- Add JSON-based or INI-based settings as shown in the example snippets below.
- libraries: Define the file(s) as glob pattern and assign a comma-separated list of VHDL library names
- excludes: Define the file(s) as glob pattern and enable (true) or disable (false) exclusion
- settings: Various aspects can be configured, please refer to the CheatSheet for details
"spi_pkg.vhd": "spi_lib, spi_test_lib",
spi_pkg.vhd = "spi_lib, spi_test_lib"
libs/math/*.vhd = "math_lib"
libs/**/string*.vhd = "string_lib"
**/out/*.vhd = true
bin/** = true
V4p.Settings.Formatting.Indentation.TabWidth = 4
V4p.Settings.Formatting.Indentation.UseTabs = true
The command input prompt can be activated by pressing
|Displays the current version and build date
|Displays information about all found licenses
|Opens the logfile in the editor
|Reloads the the config.v4p files
Required Visual Studio Code Settings
There are a couple of useful Visual Studio Code related settings which one should take a look at. Some settings need to be changed in order to enable the VHDL specific functions provided by V4P, other settings are just useful to know as they greatly influence the editor's appearance.
Enable ( required for VHDL specific smart indentation)
|Code Folding (Enable)
Enable ( required to use VHDL specific code folding)
|Code Folding (Strategy)
Auto ( required to use VHDL specific code folding)
Enable snippets (required)
|Enable Semantic Highlighting
ConfiguredByTheme. Theme must support semantic highlighting
|Code Completion (Auto Suggestions)
No software is without bugs, and V4P is no exception. Should you find any bugs, or have special feature requests, please just contact me per email: firstname.lastname@example.org. I kindly ask you to give me the chance to improve V4P before you give it a bad rating.
V4P comes with a pre-installed, fully-featured 30-day trial license. Once the trial period has expired, V4P continues to work with a very reduced feature set. A paid license can be obtained via the official website http://www.vide-software.at in order to get all the handy features working again 😊. There are various options how to install the license.