自己一直比较习惯用 UEStudio 来编写 C/C++ 文件,因为 Visual Studio 2010 实在太大了,我的 T400 都跑的费劲,所以一般我只用它来编译和调试。但是可惜的是 UEStudio 的语法高亮文件不太好使,所以萌生了自定义语法高亮文件的做法,好自己加入 Visual C++ 的符号和关键字。这里做个备忘。
先声明:这里只是讨论通过 .uew 文件来进行语法着色的方式,不讨论通过 UEStudio 的 “高级 -> 配置 -> 编辑器显示 -> 语法着色” 来自定义的方式。
一、语法高亮文件位置
UEStudio 的语法高亮文件默认保存在 "%appdata%\IDMComp\UltraEdit\wordfiles\" 或 "%appdata%\IDMComp\UEStudio\wordfiles\" 下,依据自己安装的产品不同,找到对应的目录。语法高亮文件一般以语言或产品命名,比如我要修改的文件就是 “c_cplusplus.uew”。
二、语法高亮文件结构
名称和文件名后缀
文件第一行用来声明要显示的名称和要着色的文件名后缀,这个名称用来在 UEStudio 的 “视图 -> 着色文件类型” 菜单中显示。一般类似这样:
/L1"C/C++" C_LANG Line Comment = // Block Comment On = /* Block Comment Off = */ Escape Char = \ String Chars = "' File Extensions = C CPP CC CXX H HPP AWK M
其中:这里的 “C/C++” 就是显示出来的菜单名字,最后的 “File Extensions” 就是要进行语法着色的文件后缀名。
代码折叠
/Open Fold Strings = "{" "#ifdef" /Close Fold Strings = "}" "#endif"
成对出现,多个折叠符号用多个引号,用空格分隔。
着色类型
UEStudio 默认分 20 个着色类型,在 .uew 文件里以 /C1 /C2 ... 分开。比如:
/C1"C 关键字" STYLE_KEYWORD
需要注意这里的空格符号,是严格区分的。大小写貌似不区分。这里 "C 关键字" 左边没有空格,右边有空格。
这里的“C 关键字”可在 UEStudio 的选项中看到。
高亮颜色
上例里面 “STYLE_KEYWORD” 是一种着色类型,代表一种颜色。预定义的颜色有:
STYLE_KEYWORD // Keyword STYLE_FUNCTION // Function STYLE_EXTENSION // Extensions STYLE_IDENTIFIER // Identifier STYLE_OPERATOR // Operator STYLE_METHOD // Methods STYLE_EVENT // Events STYLE_STATEMENT // Statements STYLE_TAG // Tag STYLE_VARIABLE // Variable STYLE_ATTRIBUTE // Attributes STYLE_ELEMENT // Element STYLE_COMMAND // Command
或者可以使用 “Colors” 来定义。
/Colors = 0,8421376,8421376,8421504,255
/Colors Back = 16777215,16777215,16777215,16777215,16777215,
/Colors Auto Back = 1,1,1,1,1,
/Font Style = 0,0,0,0,0,
/C1 Colors = 16711680 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
/C2 Colors = 255 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
/C3 Colors = 33023 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
/C4 Colors = 32768 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
/C5 Colors = 4210816 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
/C6 Colors = 16711680 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
/C7 Colors = 16711680 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
/C8 Colors = 16711680 Colors Back = 16777215 Colors Auto Back = 1 Font Style = 0
比如:
/C7"Windows 数据类型" Colors = 16711808
这里的颜色定义为:
value of red + value of green * 256 + value of blue * 65536
参考文档:http://www.ultraedit.com/downloads/extras.html#wordfiles