UltraEdit的语法着色功能使用方法及心得.doc_第1页
UltraEdit的语法着色功能使用方法及心得.doc_第2页
UltraEdit的语法着色功能使用方法及心得.doc_第3页
UltraEdit的语法着色功能使用方法及心得.doc_第4页
UltraEdit的语法着色功能使用方法及心得.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一部分:语法着色的大体介绍 Syntax highlighting语法着色可以辨别事先定义的符号,并可以将它们以不同的颜色展现出来,这种功能对于coder很有用,对具有同一要求的其他使用者来说也是非常有益的。 UltraEdit最大可以支持20套语法着色模板,每一套模版根据用户自己的需求自己配置,使文档中分成许多的组,每一组都可以以不同的颜色显现出来,在UltraEdit中“组”的类别可以分为一下6种:?普通文本(没有被辨认出来的文本)?注释行?交换注释块?字符串?数字(0-9)?自定义的语法符号(想被着以不同颜色的文本) 语法着色功能的在高级(Advanced)-配置(Configuration)-编辑器显示(Editor Display)-语法着色(Syntax Highligthing)中可以被用户设置,有的版本在高级(Advanced)-配置(Configuration)-语法着色(Syntax Highligthing)下面设置。图2 在设置的时候,首先要选择语言,也就是用户的模版,在开始的时候,UltraEdit已经给用户提供了一些常用的模版,选定好了模版以后,用户要在下面的颜色组中选择你想要设置哪一个组的颜色,选定了一个组以后,就可以点击“颜色”和“背景”的颜色框,为这个组设置颜色(当UltraEdit辨认某一个字符属于这个组,就会以这个颜色为其着色)。当选择除“常规文本”之外的组时,还可以为这个组设置字体样式(当UltraEdit辨认某一个字符属于这个组,就会以这种字体显示字符),这些粗体、斜体和下划线的设置可能使文本不可用,所以这里建议使用“普通”,及固定点阵字体(这个功能低版本可能没有)。图3 那么应该在哪里配置这些模版和它们的组呢?在UltraEdit的安装目录下面有一个配置文件WORDFILE.TXT,在这个文件中用户可以根据需要配置自己想要的模版,这个文件会在UE启动的时候被自动加载,在高版本的UE中,若是修改了这个文件,保存一下就可以同步其他文件,不再需要关闭再重启UE。 一般UE开始会为用户定制一些通用的模版,供用户使用,用户可以点击“视图”,查看着色配置,下图就显示了目前一共有13中可以使用的语法着色模版,现在的打开的文件并没有使用任一种模版。图4在这一部分,我们先试着读懂系统自带的模版,知道每一部分的作用,在第二部分中,我们可以尝试着编写根据自己需求定制的模版。图5上图就是配置文件WORDFILE.TXT里面的一段内容,这是系统自带的一个模版,我将每一个模版分成了2个部分,第一部分是模版的前半部分,在这里可以利用系统里面的关键字来设置一些配置,比如:L1表示了模版的序号,从L1到L20,可以定义20套模版,“C/C+”表示了这个模版的名字,这在“视图”中可以查看到,Line Comment = /表示了注视行是以”/”开头的.在第一部分,每一行必须以”/”打头,你也可以将多行并成一行,就像上图所示那样。在第二部分中用户可以自行定义一些想被着色的关键字,比如/C1Keywords 就是用户定义的第一个组,名字为Keywords,在这个组里,用户可以把想被着色的关键字列举出来,在图3所示的地方,你可以设置想为这些所列举出来的关键字的颜色。下面说一下模版的第一部分的设置:1.注释行用户可以用Line Comment = 字符串来设置想要制定的注释行,这个字符串最多支持5个字符,如果少于5个字符的话,则后面要加上空格和其他关键字分割。图6图7在图7中,虽然设置了注释字符为“/1234567”,但是UE最大只支持5个字符,所以就取前5位为注释字符,即“/1234”,所以在测试文本中可以看到第四行并没有被注释出来。并且在UE中这一部分对大小写和空格的要求都是很严的,如果你在wordfile.txt中写出”/line Comment = /1234567”这样的命令,UE是不认的(最起码我机器上这个版本的UE不认),还有” /line Comment=/1234567”UE也是不认的,因为等号两边没有空格。这种要求对别的关键字也是同样有约束限制的(下文就不做特殊说明了),比如,在定义模版名称的时候这样写”/L14 Test”,UE不认,因为在模版序号L14和模版名称Test之间有一个空格,而UE的要求是不可以留有空格的。图8在上图中,定义注释行的字符串长度为5(大于5也可以),那么后面就不需要用空格来分割其他的关键字了,当然,为了代码的可读性,最好还是加上分隔符。还有一种定义注释行的方法:Line Comment Alt = ,使用方法和一些注意事项和Line Comment = 字符串一样,这里就不再赘述了。有些时候,空格也会作为注释行字符的一部分,用来标注哪些行是应该被注释掉的,用下面这种定义方式可以实现这种功能:Line Comment Num = xCC 其中x表示注释行字符的长度(1到5),后面必须紧跟着注释行字符(可以是空格),比如Line Comment Num = 3CC (注意CC后面有一个空格)表示以”CC ”开头的字符都属于注释的范围。具体效果如下图:图9另外注释行还有一个有效范围的设置方法,就是说在哪一些范围内,这些字符会被注释掉,反之,即使符合你前面的定义,也不会有效。实现方法有两种:Line Comment Preceding Chars = ”和Line Comment Valid Columns = 1-3,5”对于第一种Line Comment Preceding Chars的定义方法来说,每一个字符都是有效的,在括号中可以设置一个无效字符。如果没有Line Comment Valid Columns的话,注释字符在每一处都是有效的,但是如果定义了Line Comment Valid Columns,那么注释字符只在后面定义的中括号中制定的范围有效。Line Comment Valid Columns = 1-3,5”就表示了注释字符的首位置在1,2,3,5列时是有效的,其他的位置是无效的,图示如下:图10注释字符为”CC”,在测试文本中,第一、三行的CC首位置在第2、5列,符合要求,所以被注释出来了,第三行的CC首位置在第4列,so.2.注释块多行的字符也可以被块注释,就像C中的”/*”和”*/”可以实现块注释的功能。在UE中,是以Block Comment On = 定义块注释的开始,以Block Comment Off = 定义块注释的结束。和注释行一样,注释块的开始和结束同样最大支持5个字符。如果只用Block Comment On = 定义块注释的开始,而没有定义注释块的结束,那么UE只会注释注释块开始的那一行,这样的话,就和注释行的作用一样了(不过在有的高版本中的UE中,好像做的跟C类似,没有定义注释结束的话,就会一直注释下去)图113.文件类型在这里,模版的使用还可以跟文件类型关联起来,在UE中“文件类型”属性可以实现在打开某种文件的时候,使用特定的模版打开。定义方法如下:File Extensions = 如果列举多种文件类型的话,每种文件类型之间要加空格分隔。如果你想实现某一个文件的时候,套用某一种模版,那么使用一下定义:File Names = 如果列举多种文件名称的话,每种文件名称之间要加空格分隔。图124.大小写敏感如果你不想你的模版对大小写敏感,那么你可以用关键字“Nocase”,象下面这样写:/L1 Line Comment = / Nocase File Extensions = CPPC H HPP 或者不写在同一行:/L1 Line Comment = / File Extensions = CPPC H HPP/ Nocase5.字符串在一些语言中,字符串都是放在一对单括号或者双括号中,在字符串中,注释和关键字是不可用的,这就是UE的默认设置。但是在一些语言中,例如HTML,是不需要这样的,为了方便这些语言,模版中可以使用关键字Noquote:/L1 Noquote File Extensions = HTMUE中同样可以配置规定字符串的字符,默认设置是单引号和双引号。在UE中可以通过关键字String Chars = 来设置,最多支持2个字符,例如C的模版:/L1C/C+ C_LANG String Chars = 这样的话,在这个模版中,被单引号或者双引号括起来的字符,就成为字符串了,在UE中可以配置字符串的着色,这在图2中可以看出来,如果您想让两个规定字符串的字符分别以不同的颜色显示,那么有一种方法,先用”String Chars = “定义两个,再在用户自定义的组中,定义一个,这样的话,按照UE的内部的处理,后定义的会重写前面所定义的,这样就可以以两个颜色显示,图示如下:图136.转义字符在一些语言中,当转义字符放在某些字符前面的时候,那这些字符原来的意义就失去了,就会有了一些别的意义。用过C的朋友都知道,就像其中的”一样。在UE中,这个转义字符放在规定字符串的字符前面的时候,那么规定字符串的字符就失去作用了。定义方法用关键字”Escape Char =”图147.分隔符在UE中,字符串之间都是由分隔符分割的,在一个字符串开始或者结束的时候,都会有这个分割符,在UE中定义了一些默认的分隔符,比如空格、等等,一般情况下,用户使用UE自带的默认分隔符就行,如果自己有特殊需要的话,UE在4.1的版本后,允许执行定义分隔符,使用关键字/Delimiters =,比如:/Delimiters = !%&*()-+=|/:; ,.?但是需要注意的是,用户一旦自己定义了分隔符,系统不就会再使用默认分隔符中的任何一个,只会使用用户定义的图15这里用户使用的是系统默认的分割符,而属于其中的一个,所以UE就辨认出来了。而在下面的例子中,用户只是定义了+为分隔符,所以系统就辨认不出为分隔符了。图16如果用户想为分隔符也着色,但是“配置”中的“语法着色”上面并没有分隔符这一项,所以用户只能把分隔符自行添加到用户自己定义的组中了。图17有一种特殊情况,就是用户定义了分隔符,但是在自己定义的组里面的关键字包含了这个(些)分隔符,这样的话,按照分隔符的作用,就是起分割作用,关键字不应该高亮,但是这个关键字又在组里面,应该高亮,这就矛盾了,UE的处理结果就是不高亮,如下:图18解决的办法有两个:一是将这个分隔符在分隔符定义中删除,二是将关键字拆分成多个部分在组中定义,如下图所示:图198.函数/过程UE中可以显示一个函数列表,里面可以显示出这个文档中包含的所有函数,当然显示函数的规则是由用户定义的,UE显示函数列表的快捷键是F8,默认的配置中没有定义函数显示的规则,所以开始的时候你会在函数列表中看到“没有函数”的字样。定义函数的关键字是” /Function String =”,比如:/Function String = %a-zA-Z*)or/Function String 1 = /Function String 5 = 在UE中定义函数是靠正则表达式的,系统通过在文档中匹配正则表达式来查找出所有的函数,注意,这个正则表达式的规则是UE专有的,也就是说,你如果想定义函数,首先要学习一个UE中的正则表达式规则,这跟绝大多数语言的正则表达式规则都不一样,不过在UE的帮助文档中可以找到UE自己的正则表达式规则的说明。之所以这样做,UE给出的解释是:“This ensures that the function list will always work irrespective of the regular expression_r settings.”使得UE的正则表达式可以正常工作,而不依赖正则的配置。注意,虽然函数显示的定义在wordfile.txtx中,它的作用只是告诉UE在函数列表中能够显示出函数的规则,但没有高亮的功能,函数在文档中是不能按照这个定义的规则被着色的,除非你一个一个列举在组中9.缩进UE可以提供一个自动缩进的功能,就像在专属IDE中编辑代码一样方便,同样和函数一样,只是在wordfile.txtx文件中定义缩进,给高亮无关。定义缩进开始、结束的关键字为” /Indent Strings =”、” /Unindent Strings =”,比如:/Indent Strings = /Unindent Strings = 当定义缩进的开始和结束的后,用户在缩进开始的那一行(不一定非要在缩进开始符号后面)敲击回车的时候,关标就自动在下一行向后跳一个TAB的位置,同理,在缩进结束的时候,关标在一下行会自动缩一个TAB的位置。缩进开始及结束字符在引号规则字符中无效,也就是在字符串中无效。图20在有的文档中,可能由特殊需要,在文档中间的某一部分就不需要缩进,而其他的部分需要缩进,为了适应这种情况,可以使用UE中这个关键字:”/Ignore Strings SOL =”,比如:/Ignore Strings SOL = “#” “/”这个字符必须在某一行的第一个字符的位置上,如果某一行在第一个位置上匹配到了这个字符,那么这一行将不会被缩进,在下一行说缩进会继续。同样这种忽略字符在引号规则字符中也是无效的。10.匹配段在UE中被某一对制定的字符的在头尾包含的一段字符,在这里暂且成为段,则一段字符,可以被高亮出来,比如:图21和前面的函数一样,在配置文件中只是定义一下匹配段的开始和结束符,UE默认的段开始符为(, , or ,结束符为), and ,用户可以使用关键字”和”来修改段的匹配符:/Open Brace Strings = ( /Close Brace Strings = ) 当用户定义的匹配符不止一对的时候,开始和结束符号的定义必须一一配对。在UE中的段匹配机制是从文档中的光标的位置开始查找,如果查找到的第一个匹配字符是段开始字符,那么就继续向下查找,直到找到与之同级别的段结束字符为止,反之就反向查找。这在编码中是很方便的,有时候会有很深、很多的嵌套,或者在看一个复杂的表达式的时候,你可以使用此功能快速找到你想看的某一段。图2211.字符标志在UE中可以定义一个开始字符,再定义一个结束字符,UE会在每一行自动匹配第一个以这个开始字符开始,结束字符结束的一段字符,并可以将其高亮。在配置文件输入:/Marker Characters = ab ,就表示了每行第一个以a开头,b结束的一段字符可以被UE筛选出来,即使这段这段字符中间包含空格,这个功能在注释和字符串中不可用。UE最多可以定义4对字符标志,比如:/Marker Characters = abcdefgh ,系统可以筛选出来符合以a开头,b结束和c开头,d结束.的4中字符标志的所有字符。定义这个字符标志只是让UE筛选出来,如果想让这些筛选出来的字符高亮,那么应该将其放入自己定义的组中,如图:图2312.折叠字符你可以自行定义折叠字符的开始、结束,也可以使用UE中默认定义的折叠字符,这样可以使你的代码看起来更加的方便,比如:/Open Fold Strings = /Close Fold Strings = 图24和缩进一样,如果有特殊需要,需要在某一段忽略折叠,可以使用关键字:” /Ignore Fold Strings =”,作用和使用方法和忽略缩进一样,这里不再赘述。在第二部分中,配置就显得的简单多了,只需要用户在其中配置一个或多个组,在每个组中,添加进去想被着色的关键字,然后就可以在“配置”“语法着色”中配置颜色了。UE最多支持定义8个组,如下图:图25定义的组的开始必须以”/”开头,紧跟着一个用双引号括起来的字符串,表示这个组的名字,然后下面的一行或多行就是你想要被着色的关键字。” STYLE_KEYWORD”表示智能tip,这个就有点像.net的IDE了,不过你要使用这个功能,要点开“自动完成”的开关图26效果如下:图27系统会将你定义” STYLE_KEYWORD”的组里面的关键字列出来,供你选择。在定义了一个组以后,就可以添加你想着色的关键字了,这里有一个规则:每个以同一个字母开头的关键字必须放在同一行,或者多行,但是放在多行的时候,必须一行接着一行,中间不能有空行。autoOpbool breakcase char const continuedefault defined do doubleelse enum externfloat forgotoif intlongregister returnshort signed sizeof static struct switch就想上面列举出来的样子,比如,以c开头的关键字都放在同一行,或者拆开放多行,但中间不能有空行,比如:casechar const continue如果你将以同一个字母开头的关键字放在多行,但是中间又有空行,那么UE只记住前面定义的关键字:图28但是中间存在非空行,那么后面定义的关键则会覆盖前面定义的:图29有时候,关键字是不可列举的,比如,我想把关键字定义为所有以一个字符串开头的字符串,不过UE是可以完成这个功能的,在组内使用”*”,将”*”放在开头的字符串前面,比如:* aaa bbb这就表示了所有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论