语法高亮
430 字约 1 分钟
2025-01-08
什么是语法高亮
语法高亮按语言规则为关键字、类型、端口、参数、数字和注释着色,让代码结构一目了然。Digital IDE 支持 Verilog、SystemVerilog、VHDL,以及 XDC 等约束文件。
在语法着色之上,Digital IDE 还会利用解析结果做语义高亮:按方向区分输入、输出端口,单独标出时钟和复位端口;被 `ifdef / `ifndef 排除的代码整段显示为灰色,当前生效的分支一眼就能看出来。
演示
语言模式
着色由编辑器右下角的语言模式决定,打开文件后先确认它与文件类型一致:
| 文件 | 语言模式 |
|---|---|
.v | Verilog |
.sv | SystemVerilog |
.vhd、.vhdl | VHDL |
.xdc 等约束文件 | 对应的约束语言 |
不要为了改变颜色而切换语言模式:同一个标识符在不同标准中可能是关键字。约束文件被着色也不代表约束已经生效。
语义高亮设置
语义高亮依赖 VS Code 的语义高亮开关,具体颜色由当前主题决定。Verilog/SystemVerilog 的端口高亮可以单独调整:
| 设置 | 作用 |
|---|---|
digital-ide.function.lsp.semantic.tokens.port.clk.rst.enable | 区分标量时钟、复位端口 |
digital-ide.function.lsp.semantic.tokens.port.input.output.enable | 根据端口方向添加读写修饰 |
宏分支是否变灰取决于解析时能看到的宏定义。宏定义在 include 文件中时,确认 include 路径可以解析。
颜色不正确时
依次检查语言模式、主题、语义高亮开关,以及当前文件是否有诊断错误。语法错误会让后面的代码无法解析,语义高亮也随之失效。