如何在Visual Studio 2010中启用CUDA .cu文件的语法高亮?

19

当我在Microsoft Visual Studio 2010中编辑.cu文件时,编辑器将其视为普通文本文件(关键字如intfloat等未着色,闭合括号也没有突出显示)。

如何启用Visual Studio中.cu文件的语法高亮功能,以便编辑.cu文件像编辑常规的C/C++文件一样?


已经在以下链接中回答了此问题:https://dev59.com/3mXWa4cB1Zd3GeqPJx4W - Fernando Diaz
4个回答

21
在Visual Studio设置中添加'.cu'扩展名将仅启用C++关键字的语法高亮。编辑:工具 -> 选项 -> 文本编辑器 -> 文件扩展名 中输入cu,选择Microsoft Visual C++作为编辑器并单击“添加”。
要添加CUDA关键字语法高亮,请在CUDA安装文件夹中搜索usertype.dat(如果未在Program Files文件夹中找到,请确保在home folder -> AppData-> Local -> NVIDIA Corporation中搜索(很抱歉我现在没有Windows),然后将其复制到Program Files\Microsoft Visual Studio 10.0\Common7\IDE并重新启动Visual Studio。
但是,但是!它可能仍然不起作用,所以你最终需要使用Visual Assistant X,然后按如下更改其设置:
对于VS2010、VS2008、VS2005和VS.NET:
将您的扩展名添加到以下位置: 工具 | 选项 | 项目 | VC++构建 | C/C++文件扩展名(VS.NET) 工具 | 选项 | 项目和解决方案 | VC++项目设置 | C/C++文件扩展名(VS2005、VS2008) 工具 | 选项 | 项目和解决方案 | VC++项目设置 | 要包括的扩展名(VS2010) 退出IDE并使用regedit将以下条目克隆到以您的扩展名结尾的类似条目: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Languages\File Extensions\.cpp 如果您使用64位操作系统,则克隆注册表键: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\8.0\Languages\File Extensions\.cpp如果您的扩展名表示头文件,则使用regedit将扩展名添加到以下位置的ExtHeader中。请记得包括点和终止分号:

HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet8

如果您的扩展名表示非头文件的源文件,则将扩展名添加到以下位置的ExtSource中。

HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet8

在Visual Assist X选项对话框的性能选项卡上单击“重建”,然后重新启动IDE。
如果您使用VS 2010,请将8.0替换为10.0。 如果您使用VS 2008,请将8.0替换为9.0。 如果您使用VS.NET 2003,请将8.0替换为7.1。 如果您使用VS.NET 2002,请将8.0替换为7.0
如果您使用Visual Studio 2010,请将VANet8替换为VANet10。 如果您使用VS2008,请将VANet8替换为VSNet9。 如果您使用VS.NET 2003,请将VANet8替换为VSNet。 如果您使用VS.NET 2002,请将VANet8替换为VANet7.0
对于VC++ 6.0:
退出IDE并使用regedit将扩展名添加到以下位置:

HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Text Editor\Tabs/Language Settings\C/C++\FileExtensions

如果您的扩展名表示一个头文件,请使用regedit将该扩展名添加到以下位置中的ExtHeader。请记住包括点和终止分号:

HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VA6

如果您的扩展名表示一个不是头文件的源文件,请将该扩展名添加到以下位置中的ExtSource中。请记住包括点和终止分号:

HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VA6

在Visual Assist X选项对话框的性能选项卡上按“重新生成”按钮,然后重新启动您的IDE。


如果我在我的CUDA安装文件夹或NVIDIA Corporation文件夹中都找不到usertype.dat,我应该担心吗?此外,现在我该怎么办? - Nummer_42O
@Nummer_42O 这是针对 VS 2010 的一个非常古老的解决方法。事情可能已经发生了变化。我建议您发布一个新问题,并提供所有适当的信息,以便其他人可以使用更新的说明来回答它。 - Soroosh Bateni

6
除了其他人已经提到的(在“工具” -> “选项” -> “文本编辑器” -> “文件扩展名”和Microsoft Visual C ++作为编辑器中添加cu扩展名),我还建议您包含以下内容,以避免高亮显示CUDA关键字(如threadIdx.x等):
#include<device_launch_parameters.h>

1
#include "cuda_runtime.h"
#include "device_launch_parameters.h"

在我的VS中,我添加了这两行代码后,所有的语法高亮都能够正常显示。

我不知道这两个头文件背后有什么魔力,之前我只使用了 #include "device_launch_parameters.h",它可以突出显示一些代码片段,而使用 #include "cuda_runtime.h" 后,它甚至可以生成更好的语法高亮器。然而,完整的高亮仍然缺失,应该有第二个选项。 - bim

1
右键单击您的项目,选择“生成自定义”,然后选择一个CUDA生成自定义文件。如果没有可用的CUDA生成自定义文件,则必须首先安装Nsight Visual Studio Edition或包含它的CUDA发行版。

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