vscode本身不支持verilog/vhdl,必须依赖插件与外部工具链协同:安装mshr-h.veriloghdl(verilog)或vijayst.vhdl(vhdl)提供语法高亮,再配置verilator/vhdllint路径并确保其在path中,方可启用语法检查;vivado/quartus跳转需用code -g配合cmd /s /k包装器,参数顺序与路径格式须严格匹配。

VSCode 本身不支持 Verilog/VHDL,必须靠插件 + 外部工具链协同工作;光装插件不配路径、不装 iverilog/ghdl/modelsim,连基础语法检查都跑不起来。
Verilog 插件选哪个?别被名字带偏
插件名容易混淆,实际用下来最稳的是这两个:
-
mshr-h.VerilogHDL:Windows/macOS/Linux 全平台验证过,支持.v和.sv,自动识别模块端口、always块结构,悬停显示接口注释 -
redhat.vscode-systemverilog:如果项目含大量class、covergroup或 UVM,这个更准;但纯 RTL 场景下比mshr-h启动略慢
避坑点:verilog-95 插件已多年未更新,不识别 logic 类型,且在 VSCode 1.8+ 上会报 Language server crashed 错误;ms-vscode.vhdl 是 VHDL 专用,Verilog 项目里装了也白装。
为什么改了插件设置还报“linter not found”?
因为插件只负责调用,真正做语法检查的是你本地装的命令行工具——verilator(Verilog)或 vhdllint(VHDL),它们必须出现在系统 PATH 中,且插件配置要指向可执行文件本身。
- Linux/macOS:运行
which verilator,把输出路径(如/usr/local/bin/verilator)填进 VSCode 设置里的verilog.linterPath - Windows:用 PowerShell 运行
Get-Command verilator | Select-Object -ExpandProperty Path,结果类似C: oolserilatorinerilator.exe,复制整条路径到设置中 - 关键细节:设置项叫
verilog.linterPath,不是verilog.linter;后者只是开关,前者才是路径
Vivado/Quartus 双击跳转总卡死?命令参数顺序错了
Vivado 调用 VSCode 卡死,90% 是用了绝对路径直接调 Code.exe。新版 VSCode 对参数解析更严格,必须用 code 命令 + cmd /S /k 包装器。
- Vivado 配置位置:
Tools → Settings → Text Editor → Custom → Command - 正确填法:
cmd /S /k"code -g [file name]:[line number]" - Quartus 配置位置:
Tools → Options → Preferred Text Editor → Custom - 正确填法:
"C:/Users/xxx/AppData/Local/Programs/Microsoft VS Code/Code.exe" -r -g %f:%l(注意%f:%l顺序,不是%l %f) - 验证方法:在终端直接运行
code -g "top.v:42",看是否能打开并定位——这步不通过,IDE 集成一定失败
TEROS_HDL 插件报 vlib work failed 怎么办?
这不是插件问题,是 ModelSim 工作库没初始化。TEROS_HDL 的 vsim 命令依赖 work 目录存在,而它不会自动创建。
- 手动建库:打开终端,cd 到你的仿真目录,运行
vlib work && vmap work work - 或者让 TEROS_HDL 自动做:在 VSCode 设置里开启
teroshdl.simulator.modelsim.autoCreateWorkLib(默认 false) - 路径注意:Windows 下
"teroshdl.simulator.modelsim.installationPath"必须用正斜杠/或双反斜杠\,单反斜杠会被当转义符吃掉
复杂点在于:ModelSim 和 QuestaSim 的 vlog 参数不完全兼容,比如 -sv 在老版 ModelSim 里不认,得换成 -fsm;这些细节 VSCode 插件不会帮你判断,得自己查手册对齐版本。











