跳转到主要内容
「设置 → 代码分析」控制 Agent 的 C# 语义分析能力。开启后,Agent 查找引用、跳转定义时得到的是编译器级别的准确结果,而不是文本搜索的近似匹配。

C# 代码分析总开关

基于 Roslyn 语言服务的 C# 语义分析:组件按需下载,并加载 Unity 生成的解决方案。所有 code_* 工具都依赖此开关。 开关旁实时显示服务状态:准备组件中下载组件调用 Unity 生成工程文件中启动分析服务中加载项目中代码分析就绪;出错时显示具体错误信息。分析结果异常或项目结构大改后,可点击重启重启分析服务并重新加载项目。会话页输入框上方的 C# 代码分析状态指示同样能查看状态并重启。

简单原理

Unity 项目的 C# 代码里,同名方法、字段随处可见,纯文本搜索无法区分 Player.Reset()Enemy.Reset()。语言服务把整个解决方案真正编译一遍,理解每个符号的类型与归属,因此 Agent 能拿到语义级精确的引用列表和签名信息,改代码前后也能立即得到编译器诊断,减少凭记忆猜 API 造成的错误。代价是首次启动需要下载组件并加载项目,大项目加载需要一些时间。

Roslyn 工具

逐项开关,关闭的工具会从 Agent 的工具列表中完全移除。总开关关闭时,以下工具无论开关状态如何都不会提供给 Agent:
  • code_symbol_search:在整个工作区内搜索 C# 符号(类、方法、字段)。
  • code_goto_definition:解析符号的声明位置,包括其他程序集与 package。
  • code_find_references:语义级精确查找符号的全部代码引用。
  • edit/write 诊断:Agent 修改 Unity C# 文件后,自动返回有上限的文件级错误、警告与项目字符串引用检查,构成”改完即验证”的回路。
  • code_diagnostics:不切到 Unity 即可获取编译器与分析器的错误和警告;file 模式同时校验 tag、layer、场景、Resources、Input 字符串是否存在于项目配置。
  • code_hover:查询符号的精确签名、类型与文档(IDE 悬停信息),避免 Agent 凭记忆猜 API。
  • Unity 分析器(UNT*):注入 Microsoft.Unity.Analyzers,为 code_diagnostics 提供 Unity 特化诊断,并压制对 Unity 代码具有误导性的通用 C# 提示。切换后会自动重启分析服务。

资产侧工具

把 C# 符号桥接到 Unity 资产数据与项目配置,不依赖 Roslyn 服务:
  • unity_code_usages:查询脚本或成员在场景、预制体、资产中的序列化使用,包括挂载点、UnityEvent 绑定、序列化字段与 AnimationEvent。代码侧的”查找引用”看不到这些资产里的使用点,删改脚本前让 Agent 先查一遍,可以避免破坏场景中的绑定。该工具依赖资产数据库,见资产页面
同属代码与 Unity 分组的热更新与编译Unity 连接测试标签,见 Unity 执行与编译热更新