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.

[参考译文] CODECOMPOSER:CCS 20.0.1.4、仅在构建时更新了错误和警告

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1495824/codecomposer-ccs-20-0-1-4-errors-and-warnings-only-updated-on-build

器件型号:CODECOMPOSER

工具与软件:

大家好!

默认情况下、CCS 20 (Theia)仅在编译时更新编辑器中的错误和警告吗?

通常、对于 VSCode 和其他 IDE、文本编辑器会在键入时将错误/警告扔向右、并在文本下方放置一行。 有了 Theia、它只能在建筑物(Strg+b)上完成它。

我使用 c_cpp_properties.json 将 VSCode 配置为相同的工程、一切都正常运行(这是我们之前的工作方式、此时基于 eclipse 的 IDE 是 TI 的默认值)。 此外、我使用 clangd 尝试了 VSCode 和生成的 compile_commands.json、它们也可以正常工作。

设置详细信息:

目标 MCU:带 tiarmclang 的 AM64/AM24 Cortex R5

操作系统: Windows 10和 Ubuntu 24 ,两者的行为相同

CCS/Theia 版本:20.0.1.4

SDK:SDK-AM64X MCU-PLUS-SDK 10.01.00.32

目前我正在使用 VSCode 编辑代码、切换回 Theia/CCS 以进行构建和调试。 这将是伟大的,如果只有 Theia 可以使用,因为他们几乎是相同的无论如何。



此致、

埃尔金

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

    Ergin

    在 CCS 中、我们将显示在实际编译(即由编译器报告)期间发现的错误/警告。  我认为 VS Code 使用的是 Microsoft C/C++扩展包。  查看 VS Code 安装、我认为具体就是此设置:

    Microsoft 已授权此扩展、因此它只能与 VS Code 一起使用。

    有其他人环入线程,他们可能能够评论,如果可以安装另一个扩展,可以提供相同的功能,或者可能这是我们必须添加到我们自己的 clangd 扩展。

    此致、

    John

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

    尊敬的 John:

    感谢您的答复。 我在 VS Code 中尝试了上述两个扩展、一个是 Microsoft 的 C/C++(使用 c_cpp_properties.json)、另一个是 LLVM 扩展的 clangd (使用.clangd 作为 config)、两者都运行良好、符合预期。 带有 clangd LSP 的 Neovim 还会选择.clangd 配置并完美运行。

    CCS/Theia 中的 clangd 扩展与我所能说的相同(只是稍微旧一点)、但实际不能按预期工作、或者在内部关闭或关闭了某些功能。

    如果 CCS 的默认行为是它仅更新编译/编译时的错误/警告、您可能需要在某个时候修复该问题。

    不管怎样、CCS 中的某些内容已经在生成 compile_commands.json 文件、这是非常恼人的部分。 还有一个错误顺便说一句。 以及处理 compile_commands.json 生成的任何人。 该命令是使用命令中的 clang++作为编译器生成的、而不是 tiarmclang.exe、我始终必须在编译后替换 tiarmclang 的所有 clang++。

    以下是 VSCode 中的配置(对于 AM64的 uart_echo_callback 示例):

    此致、

    埃尔金

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

    尊敬的 Ergin:

    CCS v20使用通用(非 TI)时钟服务器来完成代码和进行导航。  同一个 clangd 服务器也支持静态代码分析,但我们故意禁止所有 clangd 诊断。  这是因为通用方框服务器最终会标记大多数 TI SDK 示例项目、并显示数百个无意义的错误。  即使成功构建项目、通用方框也无法理解代码、并且仍然存在数十个错误:

    出于类似原因、我们始终在基于 Eclipse 的早期 CCS 版本中禁用静态代码分析。  有时 TI 编译器可能会提供 TI 特定的 clangd 服务器。  如果出现这种情况、我们也许能够支持静态代码分析。

    Baltasar

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

    尊敬的 Baltasar:

    好的、很好知道。 我明白你的意思了。 对于 AM24/64设置、我们有类似的错误、并在.clang/c_cpp_properties 文件中使用怪异的黑客行为将它们删除。 由于我们仅使用 AM64/24 ATM、因此我们现在可以进行管理。

    我可以看到、以干净的方式管理 TI 大量 MCU 可能是另一回事。

    此致、

    埃尔金