如何在CUDA头文件中使用clangd文本高亮?

3
我正在使用带有clangd扩展的VSCodium,并且我想要正确地突出显示CUDA代码(例如理解__device__和__host__关键字)。我运行了CMake来生成compile_commands.json文件,其中包含CUDA特定的关键字(例如--cuda-gpu-arch=sm_52,--cuda-path=/usr/local/cuda)。但是,clangd仍然对CUDA特定的关键字进行了波浪线下划线。似乎如果clangd只是使用clang编译器来理解源代码,那么clangd应该能与CUDA配合使用(因为clang能够编译CUDA代码)。
因此,有没有办法让clangd支持CUDA呢?如果可以,我该如何通过VSCodium实现?
编辑:事实证明,CUDA代码突出显示在直接链接的文件(具有.cu扩展名)上有效,但不适用于其中一个已包含头文件(具有.hpp扩展名)。我如何使文本突出显示在头文件上工作?

VSCodium的问题不符合VSCode标签的要求。 - Lex Li
1个回答

2
在您的项目目录中创建一个名为".clangd"的配置文件,并指定CUDA头文件的位置。这对我很有效。
CompileFlags:   
Add:
    - -xc++
    - --cuda-path=/path_to_cuda_installation
    - --cuda-gpu-arch=sm_52
    - -I/path_to_cuda_installation/include

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接