我希望所有 CMake/CMakeLists.txt 文件都具有 IntelliSense 和自动完成功能。
我尝试安装 CMake VS Code 扩展,但它仅适用于默认的 CMake 函数,例如
project()
、add_library()
、target_link_libraries()
等。但我试图了解是否可以以某种方式检测到所有系统(所有包)或配置了某些路径的特定包中可用的 CMake 函数。例如 ament_cmake 包或 catkin 包。我在 CMake 扩展中找不到这些设置。
VS Code 不为 CMake 语言提供内置语言支持扩展。 CMake Tools 并不真正提供 CMake 语言支持(它更侧重于配置、构建、运行和调试)。因此市场上还剩下其他扩展。我以前用过其中两个:
twxs.cmake
和josetr.cmake-language-support-vscode
。我发现 josetr.cmake-language-support-vscode
在语言支持功能覆盖方面要好一些,最后我记得,在支持较新的 CMake 功能方面稍微领先一些,但仍然绝对落后于最新版本。 twxs.cmake
似乎不再积极开发,但
josetr.cmake-language-support-vscode
不是开源的。这是一个有点不幸的现实。您有几个选择:继续寻找(在扩展市场中寻找替代方案),继续耐心地希望并等待现有扩展的维护者不断改进他们的扩展,或者做出改变并帮助开发这些扩展,或者构建您自己的扩展。