Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>VHDL by VHDLwhizNew to Visual Studio Code? Get it now.
VHDL by VHDLwhiz

VHDL by VHDLwhiz

VHDLwhiz.com

|
33,473 installs
| (2) | Free
Snippets, templates, syntax highlighting and code completion
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VHDL by VHDLwhiz

VHDL support for Visual Studio Code

VHDL by VHDLwhiz is a fork of the puorc.awesome-vhdl plugin with altered snippets that conform to the VHDLwhiz coding style. It includes templates for VHDL modules, testbenches, and ModelSim DO scripts.

I've forked my favorite VHDL plugin to make it better. Save time by using this plugin to generate the initial project files for you!

What's new in version 1.3.8 (March 25, 2025)

  • New VUnit testbench template snippet. Type vunittb in an empty line VHDL file and hit Enter to create a boilerplate VUnit testbench.
  • Fix loop; end loop; construct not being recognized as valid VHDL.

What's new in version 1.3.0 (November 6, 2023)

  • Emacs-like stutter mode. Type ,, to quickly insert a <= symbol, .. to insert =>, and ;; to insert :=. The default trigger keys are comma, period, and semicolon. You can disable this feature or customize it through the User Configuration Settings.

Emacs-like VHDL stutter mode in VSCode

Demo of the new stutter mode feature

What's new in version 1.2.16 (November 2, 2023)

  • Fixing issues with auto indent after BEGIN, THEN, LOOP, IS, and WHEN statements
  • Fixing dedent that was not working after END keywords
  • Split "i" snippet into "ift" (IF-THEN) and "ifte" (IF-THEN-ELSE)
  • Changing "wu" (wait until) snippet to use rising_edge(clk) instead of clk = '1'
  • Syntax highlighting for DEALLOCATE, FORCE, and RELEASE
  • Fixed wrong range in "typarr" (array) snippet
  • Adding support for the VHDL BLOCK statement

Demo video

Demo of the VHDL by VHDLwhiz VSCode plugin

Features

  • Syntax highlighting
  • Code snippets
  • Code completion
  • Brace matching
  • Line and block commenting

DO script (Tcl) snippets

Snippet Description
modelsimrundo Generate a run.do script for a VHDL testbench

VHDL snippets

When you type a snippet in a VHDL file and hit Enter, the plugin will generate template code for you. Then, use the Tab key to move the cursor to the next placeholder.

SnippetDescription
asassert default severity
aswassert warning
aseassert error
asfassert failure
archarchitecture
cconstant
cacase
decrsig <= sig - 1
elelse
elielsif
ententity
entarchentity architecture
fafalling_edge()
fofor loop
funfunction
genfor generate
iftif-then
ifteif-then-else
incrsig <= sig + 1
intinteger
intdinteger range x downto y
inttinteger range x to y
o0others => '0')
o1others => '1')
oxothers => 'X')
packpackage
proprocess
proarasynch process with reset
profsmFSM process
prossynch process
prosrsynch process with reset
procprocedure
repreport a message
rirising_edge()
ssignal
shshared variable
sisigned
sidsigned(x downto y)
sitsigned(x to y)
sirsigned(sig'range)
slstd_logic
slvstd_logic_vector
slvdstd_logic_vector(x downto y)
slvtstd_logic_vector(x to y)
slvrstd_logic_vector(sig'range)
toito_integer(sig)
tosto_signed(-1, sig'length)
touto_unsigned(0, sig'length)
typarrarray type
typfsmFSM type/signal
typrecrecord type
ununsigned
undunsigned(x downto y)
untunsigned(x to y)
unrunsigned(sig'range)
vvariable
vhdlVHDL template
vhdltbVHDL testbench template
vunittbVUnit testbench template
wwhen STATE =>
whwhile loop
wfwait for
wowait on
wuwait until

Installation

Install from the Visual Studio Marketplace or by searching for "vhdlwhiz.vhdl-by-vhdlwhiz" in the Extension view (Ctrl+Shift+X) in VSCode.

User configuration settings

Setting name Default value Type
vhdlwhiz.stutterModeEnabled true boolean
vhdlwhiz.stutterModeInsertSpaces true boolean
vhdlwhiz.stutterModeTriggerLeftArrow "," string
vhdlwhiz.stutterModeTriggerRightArrow "." string
vhdlwhiz.stutterModeTriggerVariableAssignment ";" string

Contact

Send bug reports to jonas@vhdlwhiz.com

License

This extension is licensed under the MIT License. Please see the third-party notices file for details on the third-party binaries that we include with releases of this project.

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