诊断提示
418 字约 1 分钟
2025-01-08
什么是诊断提示
诊断提示就是编辑器里的报错和警告。编辑 HDL 时,语言服务实时分析代码,未保存的修改也会参与分析。问题代码以红色、黄色波浪线标出,同时列在 Problems 面板中;把鼠标悬停在波浪线上,可以看到具体原因和诊断代码。
演示
关闭指定诊断
某类诊断不适用于你的工程时,可以按诊断代码关闭它:
- 把鼠标悬停在波浪线上,在提示框中点击 Quick Fix;
- 选择 Disable this error。
Digital IDE 会在当前工作区的 settings.json 中写入一条规则,把该诊断代码设为 off:
{
"digital-ide.function.lsp.diagnostics.overrides": {
"MissingTimeScale": "off"
}
}也可以直接编辑这个设置来增删规则,删除对应的键即可恢复显示。注意:
- 规则按诊断代码生效,会隐藏整个工作区中同一代码的所有提示,而不只是当前这一行;
- 规则只写入工作区的
settings.json,不修改 HDL 文件或property.json; - 它只影响编辑器诊断,不会关闭厂商综合或仿真工具日志中的错误。
语言标准
诊断结果取决于所用的语言标准,分别通过 digital-ide.standard.systemverilog 和 digital-ide.standard.vhdl 设置。include 路径、宏和库也会影响解析结果。
排查思路
先修复文件中最早出现的语法错误,再看后面的诊断是否还在。编辑器诊断与综合、仿真工具的实际输出是两回事:Problems 面板为空,不代表工程一定能构建。