This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCSTUDIO-THEIA:CCS 20.5.1:C2000 结构和变量上的语言服务器索引失败(CanaRegs /重构中断)

Guru**** 2927270 points

Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1650563/ccstudio-theia-ccs-20-5-1-language-server-indexing-failure-on-c2000-structures-and-variables-canaregs-refactoring-broken

部件号: CCSTUDIO-THEIA
主题: C2000WARE 中讨论的其他器件

尊敬的团队:

 

我最近在 Windows 10 上从 CCS 12.8 迁移到 CCS 20.5.1。 我在处理一个 C2000 微控制器工程时、发现基于 Theia 的新型 C/C++语言服务器出现了严重的索引器故障。 我无法导航到变量/结构、重构功能已损坏。

 

具体问题:

  1. BROKEN Code Navigation (Ctrl+click ): 当我按住 Ctrl 键并单击 CanaRegs 结构变量时,编辑器会感到困惑,并改为打开 DacaRegs(与*Regs 后缀匹配的模糊回退分辨率)。
  2. 部分文件索引: 在完全相同的.c 文件中、索引器在一行中正确解析 CanaRegs、但完全崩溃、无法为代码段或文件中后续的 CanaRegs 块建立索引。
  3. 变量声明无法打开: 当我按住 Ctrl 键并单击标准变量(如 expecteddBlockCrc )时,它无法打开它们的声明并抛出 “未找到定义“ 弹出窗口,即使代码编译良好。
  4. 重构失败: 突出显示这些损坏块下面的局部变量会抛出 “无可用重构“ 工具提示消息。

 

我已经尝试过的内容:

  • 已执行 Project Clean 和 Full Build All。 编译成功、没有任何硬件寄存器错误。
  • 已使用“命令面板“运行“C/C++:清除缓存和 Re 索引工作区“和“C/C++:重新启动语言服务器“。 索引行为在达到 100%后恢复到相同的中断状态。

 

我们如何解析或修改 CCS 生成的内部语言服务器配置、以防止其在这些核心 TI 寄存器文件上丢失索引跟踪?

 

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    是否可以尝试更新 clangd 的版本?

     关于:CCSTUDIO-THEIA:更新 CLANG 语言服务器 I CCS? 

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    即使将 clangd 升级到 v22.1.0、问题仍然存在。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您尝试。 clangd 解析器存在一些已知问题。 您能否提供小型示例测试用例? 如果可以使用 C2000Ware 示例复制它、请提供指向该示例的链接。

    谢谢

    Ki  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们无法在示例中提出的一些问题。 但我以工程“can_ex3_external_transmit“为例  
    1.我无法打开的函数  ,如 can_sendMessage, can_getInterruptCause 等(大多数都是 CAN 函数)


    2.一些宏无法像 CAN_INT_INT0ID_STATUS 那样打开

    3.当我按下 CTRL+CLICK 键时,光标变为链接,并能够转到 行号 317 中的“状态“变量定义,但如果下一行中的条件,则相同的变量不能工作(行号 322 )

    4、重构也无法完成

    这正是我在示例中观察到的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的示例。 我可以使用 CCS 20 进行重现设计。 您刚才提到、它适用于 CCS 12。

    我为此提交了一张票。 跟踪链接: https://sir.ext.ti.com/jira/browse/EXT_EP-13473

    谢谢

    Ki