在Ultraedit中用宏实现将选中的代码设置为注释

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

最近因为机器问题,开始使用Ultraedit,以前用过几次,如今仔细玩味了一把,才发现这款编辑器真实太好用了,功能比较强大,确实是编码的利器,目前UE已经发布到V11,已经缺省支持C#语言的着色(这也是我选择UE的一个重要原因拉)。晚上在调试一个C#小程序的时候,发现UE有一个对于代码Debug来说不方面的地方,就是缺少对代码块或代码行注释的功能,尤其UE不是完备的开发IDE,缺少这样的功能真是让调试起来不怎么方便,让我不得不一行一行地手动在行首加"//",或对一些特定的代码块添加首尾的"/*"和"*/",不像在VB或VS.NET中直接选中想要变成注释的行,点一下工具栏上的按钮就OK,可惜啊。

好在UE支持宏,于是K了一下UE宏的语法,小搞了一下,效果还不错,呵呵

下面是对代码块设成注释的宏语句,使用前需要先选中希望注释的代码块,选中的首尾位置可以在首位行的任意位置,这里用的是"/*"和"*/",本来希望做成对每一行加"//",这样就像VS.NET了,可惜UE宏不支持变量,所以没想到实现的好办法。

InsertMode

ColumnModeOff

HexOff

UnixReOff

IfSel

StartSelect

Key END

Cut

Key HOME

IfColNum 1

Key END

EndIf

"/* "

TimeDate

"

"

Key END

Paste

Key END

"

"

TimeDate

" */"

EndIf

下面是对代码解除注释的宏代码,同样需要选中希望解除注释的代码块,选中的首尾位置可以在首位行的任意位置。

InsertMode

ColumnModeOff

HexOff

UnixReOn

IfSel

Cut

"~@#"

Paste

DeleteLine

"~@@#"

Top

Find "~@#"

DeleteLine

Find "~@@#"

Delete

EndIf

下面是对单行代码加"//"注释的宏代码,这个就简单多了 :-)

InsertMode

ColumnModeOff

HexOff

UnixReOff

"~@#"

Key HOME

IfColNum 1

Else

Key HOME

EndIf

"//"

Find "~@#"

Delete

最后是解除行注释的宏代码:

InsertMode

ColumnModeOff

HexOff

UnixReOff

"~@#"

Key HOME

IfCharIs "/"

Delete

IfCharIs "/"

Delete

Else

"/"

EndIf

EndIf

Find "~@#"

Delete

对行的注释和解除注释不需要选中行,只需要光标落在此行中即可。这里要提一下的是,本来对于行解除注释的宏想写成如下形式的:

InsertMode

ColumnModeOff

HexOff

UnixReOff

"~@#"

Key HOME

IfCharIs "/"

Key Right Arrow

IfCharIs "/"

Key Right Arrow

DeleteToStartofLine

EndIf

EndIf

Find "~@#"

Delete

这样可读性好些,实现逻辑也合理,让人Faint的是,我用的是UEV11的中文版,不支持Key Right Arrow,如果使用宏录制功能,得到的是Key 右箭头 →,但如果手动写Key 右箭头 →,系统就报错,说没有这个命令,真让人不得其解~~~这里由于存在一些逻辑,所以不能录制,只能手写。

Reference:

Ultraedit Offical Forum: http://www.ultraedit.com/index.php?name=Forums&file=index&c=1Ultraedit Help Document. http://manni-heumann.de/macro_ref_chm.zip

P.S. 很久没搞到这么晚了,好在今晚宿舍没人,外面小雨还在下,天气也凉快了一些。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有