vhdl高亮未启动,因.vhd后缀未绑定至source.vhdl语法;须点击右下角plain text→open all with current extension as…→vhdl,并在settings–user中确认存在{"extensions": {"vhd": "source.vhdl", "vhdl": "source.vhdl"}}。

右下角显示 Plain Text,就等于 VHDL 高亮完全没启动——不是插件没装,是语法绑定根本没生效。
为什么装了 VHDL 插件还是灰色的?
Sublime Text 不会自动把 .vhd 文件映射到 source.vhdl 作用域,哪怕插件已安装、语法文件存在。FPGA 工程几乎全用 .vhd 后缀,而很多插件默认只绑了 .vhdl,漏掉 "vhd": "source.vhdl" 这一行,等于白装。
- 打开任意
top.vhd文件,右下角必须显示VHDL(不是Plain Text) - 若显示
Plain Text,点击它 →Open all with current extension as…→VHDL(注意:不是Set Syntax → VHDL,后者只对当前文件临时生效) - 这步操作会写入
Packages/User/VHDL.sublime-settings,但更可靠的是直接改用户设置
Settings – User 必须包含正确的 extensions 映射
打开 Preferences → Settings – User,确认存在且仅存在这一行映射规则(不要嵌套在其他字段里):
{"extensions": {"vhd": "source.vhdl", "vhdl": "source.vhdl"}}
- 拼错键名(如写成
vhd1或VHD)、漏掉vhd、多加逗号或引号不闭合,都会导致高亮静默失效 - 插件升级、重装 Sublime 或误改配置后,这行可能被清空或覆盖,需手动补回
- 如果用了主题(如 Material Theme),还需确认该主题支持
source.vhdl作用域,否则关键字仍不着色
构建系统调用 ghdl 失败,90% 是路径或环境变量问题
Sublime 本身不编译 VHDL,它只是调用外部工具。配置 Tools → Build System → New Build System… 时,常见错误不是命令写错,而是 ghdl 找不到,或路径含空格/中文导致 shell 解析失败。
- 在终端中先运行
which ghdl(macOS/Linux)或where ghdl(Windows),拿到完整路径 - 构建系统中避免直接写
"cmd": ["ghdl", "-a", "$file"];应写成绝对路径,例如"cmd": ["/usr/local/bin/ghdl", "-a", "$file"] - 若路径含空格(如
C:Program FilesGHDLinghdl.exe),需用 shell 封装:"shell_cmd": ""C:\Program Files\GHDL\bin\ghdl.exe" -a "$file"" - Windows 下建议使用
shell_cmd而非cmd,避免 cmd.exe 对反斜杠和引号解析异常
别装冷门分支插件,VHDL 插件必须支持 Sublime Text 4
别装叫 VHDL Syntax 或 VHDL-Mode 的冷门分支——它们常年未更新,不支持 Sublime Text 4,容易触发 Unable to load syntax file 错误。
- 唯一推荐的是 Package Control 里搜
VHDL(作者通常是staktrace或sublimelsp维护的活跃版本) - 安装后重启 Sublime,再新建
test.vhd测试:输入entity、architecture、port,立刻看是否变色 - 若仍不响应,检查是否有其他插件冲突(比如同时装了 Verilog 和 VHDL 插件,且都试图劫持
.vhd)
最常被忽略的一点:状态栏显示 VHDL ≠ 高亮真正生效——得看到 signal 变蓝、begin 变绿、括号能匹配、注释自动缩进,才算走通了整条链路。任何一环断开,都是“看起来装好了,其实没用”。











