技术开发 频道

让Visual Studio支持CUDA代码折叠

  DevStudio6Editor模块

  Function FileType(ByVal doc As EnvDTE.Document) As Integer

  ' 如果要确定源文件的类型,此例程有多种

  ' 用途。

  ' 返回值: 0 文件类型未知

  ' 1 与 C 相关的文件,包括 .c、.cpp、.cxx、.h、.hpp 和 .hxx

  ' 2 与 Java 相关的文件,包括 .jav 和 .java

  ' 3 ODL 样式的文件,包括 .odl 和 .idl

  ' 4 资源文件,包括 .rc 和 .rc2

  ' 5 HTML 样式的文件,包括 .html 和 .htm

  ' 6 VBS 样式的文件: .dsm

  ' 7 Def 样式的文件: .def

  ' 用途: 向此函数传递要获取其信息的文档。

  Dim pos As Integer

  Dim ext As String

  ext
= doc.Name

  FileType
= 0

  pos
= InStr(ext, ".")

  If pos
> 0 Then

  Do While pos
<> 1

  ext
= Mid(ext, pos, Len(ext) - pos + 1)

  pos
= InStr(ext, ".")

  Loop

  ext
= LCase(ext)

  End If

  If ext
= ".rc" Or ext = ".rc2" Then

  FileType
= 4

  ElseIf doc.Language
= EnvDTE.Constants.dsCPP Then

  FileType
= 1

  ElseIf ext
= ".cu" Then

  FileType
= 1

  ElseIf doc.Language
= EnvDTE.Constants.dsJava Then

  FileType
= 2

  ElseIf doc.Language
= EnvDTE.Constants.dsIDL Then

  FileType
= 3

  ElseIf doc.Language
= EnvDTE.Constants.dsHTML_IE3 Then

  FileType
= 5

  ElseIf ext
= ".xml" Then

  FileType
= 5

  ElseIf doc.Language
= EnvDTE.Constants.dsHTML_RFC1866 Then

  FileType
= 5

  ElseIf doc.Language
= EnvDTE.Constants.dsVBSMacro Then '

  FileType
= 6

  ElseIf ext
= ".def" Then

  FileType
= 7

  Else

  FileType
= 0

  End If

  End Function

  最后说明一点,以上所有操作均是建立在您已经完整的对VS添加了CUDA支持的情况上,如果您的VS无法正常建立和编译CUDA工程的话,那么请先搜索如何对VS添加了CUDA支持的教程并按部就班的设置好您的VS.如果您不这样做,很可能导致我这篇修改教程里的部分设置不能很好的发挥作用。

        更多内容请点击:

        CUDA专区:http://cuda.it168.com/

        CUDA论坛:http://cudabbs.it168.com/

0
相关文章