部件号: CCSTUDIO-THEIA
当内置 AI 代理引用源文件时(例如在分析或编辑代码之后)、它呈现的文件链接在 IDE 中无法导航。 点击这些选项会打开外部网络浏览器、而不是跳转到 CCS 编辑器中的引用文件和行。
AI 面板生成的示例链接:
`http://.webview.localhost:/webview/C2000-MPPT02-HRPWM.c#L397-L398`
预期行为:
点击链接(或提供链接的 AI 面板)应在 CCS 编辑器中打开`C2000-MPPT02-HRPWM.c`并导航到第 397–398 行、文件引用在基于 Theia 的工具中的其他位置的行为方式(例如,VS Code 的`vscode.open`命令和一个范围)。
实际行为:
该链接是一个简单的 HTTP 锚点,指向 WebView 自己的沙盒式本地服务器 (`WebView.localhost:`),并附加了 GitHub / VS Code-style`#L397-L398 `片段。 由于这被视为普通的外部 URL 而不是 IDE 导航命令、因此操作系统/默认浏览器将其作为网页打开。 片段在 WebView 上下文之外没有任何意义,因此即使是浏览器选项卡也不会在任何地方有用。
可疑的根本原因:
AI 聊天面板似乎是 Theia WebView(每个 WebView 实例都获得自己的随机`*.WebView.localhost`沙盒源)。 WebView 内部的文件引用将呈现为普通的``锚点、而不是通过`PostMessage`(或注册的命令 URI)通过 Theia 扩展主机路由回、以触发实际的“在范围内打开文件“操作。 纯锚标记无法访问 IDE 的文件打开 API、因此它只能处理默认的操作系统链接。
建议的修复:
通过 WebView 的消息传递 API、通过 Theia 的内部开放编辑器命令(相当于 VS Code 的`vscode.open`和`Range`)路由 AI 面板生成的文件引用、而不是将它们作为外部 HTTP 锚点发出。
重现步骤:
使用 C2000 工程打开 CCS v21。
要求内置 AI 代理分析/审阅源文件。
在 AI 的响应中、请注意文件参考链接(格式:`http://.webview.localhost:/webview/#L-L`)。
点击该链接。
观察:在外部浏览器中打开、而不是在指定行打开 CCS 编辑器。
影响:
中断了直接从 AI 代码审核跳转到源代码中引用位置的预期工作流程 — 用户必须手动定位文件和行号。