• Vs中高亮HLSL关键字


        很多刚开始写HLSL,或者cg,glsl等shader语言的朋友一定会有个小困惑,编辑器不支持这些shader语言的关键字,在记事本中跟文本一样全是一个颜色的写,很容易犯错。下面以HLSL为例(其他类似)说下,如何使得vs能够识别并高亮这些shader的关键字。

        主要有三个办法。

        一个是利用Nvidia的CG:

        CG又分为两个方法:

       (一)是手工修改注册表:
       1.http://developer.nvidia.com/object/cg_toolkit.html#downloads下载一个Cg(不大,20M

    而已)。

        2.装上Cg后找到NVIDIA Corporation\Cg\msdev_syntax_highlighting\usertype.dat文件,将其复制到Microsoft Visual Studio 9.0\Common7\IDE去。

        3. 打开注册表HKEY_LOCAL_MASHINE\SOFTWARE\Microsoft\VisualStudio\x.0

    \Languages\File Extensions,(x.0表示什么版本的VS都可以)新建一项命名为.cg” ,并在里面新建一个值,然后把.cpp"中的

    值复制到刚刚新建的那个值。

        4. 重启VisualStudioDONE!

        (二)是:在装上Cg后找到NVIDIA Corporation\Cg\msdev_syntax_highlighting\usertype.dat文件,将其复制到Microsoft Visual Studio 9.0\Common7\IDE。在最新cg版本中msdev_syntax_highlighting这个文件夹下还有有了自动注册表生成install_highlighting_vs*,可以直接根据对应的vs版本(仅支持vc6,vs2003,vs2005)点击对应的注册表即可。

        这个方法有几个局限,一是只支持vc6,vs2003,vs2005几个版本,然后cg的关键字和HLSL还是有区别的,当然这个可以自己直接在usertype.dat里面修改。最后貌似只支持.cg后缀名的shader文件?

        第二个HLSL高亮的方式是直接安装InteliShade,这个百度搜索下载,或者我的上传http://download.csdn.net/source/3526798。这个貌似只支持.fx的后缀名的shader文件。

      

        最后一个HLSL高亮的方式就是自己动手了:

        首先用记事本建一个文件格式的文件,命名为usertype.dat,再要用到的HLSL的关键字给敲进去,如:

    float
    float2
    float3
    float4
    FLOAT
    FLOAT2
    FLOAT3
    FLOAT4
    float3x3

        把所有的关键字弄上去,当然你也可以定义自己的一些关键字,或者下载我上传的userdata.dat,http://download.csdn.net/source/3526794

        接着把这个文件扔到VS的某个目录下X:\Program Files\Microsoft Visual Studio 8\Common7\IDE(XVS安装盘)

        另外,现在打开HLSLFX文件还是不会出现高亮,还得对VS进得一下设置。

    打开 tool”-> options” -> text editor” -> file extension”,在右边的扩展名写上fxhlsl,选择VC++编译器(其他没用过)。点击Add,再ok

        确定后重启起VS再打开fx或hlsl文件就可以看到HLSL的关键字变成系统默认的蓝色的了。

  • 相关阅读:
    常用docker命令
    docker环境安装rabbitmq
    docker环境安装mongdb
    docker 安装redis
    docker 安装mysql
    spring关于resource文件加载原理解析(转的一篇文章)
    ✡ leetcode 165. Compare Version Numbers 比较两个字符串数字的大小 --------- java
    ✡ leetcode 164. Maximum Gap 寻找最大相邻数字差 --------- java
    ✡ leetcode 163. Missing Ranges 找出缺失范围 --------- java
    ✡ leetcode 161. One Edit Distance 判断两个字符串是否是一步变换 --------- java
  • 原文地址:https://www.cnblogs.com/bester/p/3255798.html
Copyright © 2020-2023  润新知