Skip to content

代码诊断

[🕒 预计 10 分钟] | 难度:入门

LingBuilder 在编辑与构建过程中持续对中文代码进行静态诊断,帮助你在运行之前发现问题。本文介绍内置的诊断能力与使用方式。

NOTE

由 AI 自动审查代码质量并给出修复建议的"AI 审查"功能正在规划中,当前版本尚未提供。现阶段请结合下述本地诊断工具与 AI 对话式改代码使用。

1. 问题面板

编辑 .lcpp 源码时,解析器与语义分析会实时标出问题:

  • 错误:语法不合法、控件引用不存在、事件绑定名无法解析等,会导致构建失败。
  • 警告:潜在风险,例如未使用的声明、可疑的类型混用。

点击底部 问题面板 中的条目,编辑器会自动跳转到对应行;带波浪线的位置即问题所在。

2. 控件引用与事件绑定校验

窗口项目的代码与可视化设计器是联动的。诊断会检查:

  • 代码中引用的控件名是否真实存在于设计器画布;
  • 事件处理器是否按 &处理器名 方式正确引用;
  • 设计器中删除/重命名控件后,代码中的引用是否会标记为失效。

如果诊断提示控件不存在,先检查名称拼写,再确认该控件未被删除或改名。

3. 构建输出定位

编译失败时,输出面板会列出首个错误及其位置:

  1. 点击错误行,编辑器自动跳转到源码位置。
  2. 修复后按 F5 重新编译并热运行验证。

4. 环境自检

遇到"环境类"问题(找不到编译器、SDK 缺失等)时,可使用:

  • 项目(P) > 项目环境开发自检
  • 工具(T) > 自检开发环境依赖
  • 工具(T) > 环境修复中心...

自检会报告缺失项并给出修复指引。

5. 借助外部 AI 定位问题

通过 MCP 工具协议 连接的外部 AI 客户端可以调用 lingbuilder.lingcpp.diagnostics 工具获取当前文件的诊断列表,并结合源码给出修正建议;修改会以可预览的提案形式返回,确认后才会应用。

下一步