首页 > 开发 > 综合 > 正文

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

2024-07-21 02:15:58
字体:
来源:转载
供稿:网友

最近因为机器问题,开始使用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
"[email protected]#"
paste
deleteline
"[email protected]@#"
top
find "[email protected]#"
deleteline
find "[email protected]@#"
delete
endif

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

insertmode
columnmodeoff
hexoff
unixreoff
"[email protected]#"
key home
ifcolnum 1
else
key home
endif
"//"
find "[email protected]#"
delete

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

insertmode
columnmodeoff
hexoff
unixreoff
"[email protected]#"
key home
ifcharis "/"
delete
ifcharis "/"
delete
else
"/"
endif
endif
find "[email protected]#"
delete

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

insertmode
columnmodeoff
hexoff
unixreoff
"[email protected]#"
key home
ifcharis "/"
key right arrow
ifcharis "/"
key right arrow
deletetostartofline
endif
endif
find "[email protected]#"
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. 很久没搞到这么晚了,好在今晚宿舍没人,外面小雨还在下,天气也凉快了一些。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表