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

原创 2005年04月30日 05:00:00

最近因为机器问题,开始使用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:

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

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

j2me中用canvas实现的目录树代码

  • 2010年08月20日 15:25
  • 4KB
  • 下载

UltraEdit 删除空行和注释

不仅在代码中会用到正则表达式,其实在日常软件应用中也会涉及正则表达式。比如字处理软件、代码开发工具中都提供对正则表达式查找和替换的支持。 这里以UltraEdit为例来介绍正则表达式在日常软件中...

Unity3D中用VS2012打开C#代码的设置

Unity3D中用VS2012打开C#代码的设置   (2014-03-03 11:42:48) 转载▼   分类: unity3d 正常设置流程 如图在弹出窗口中定位到Vis...

linux中用C语言实现的自动在文件末尾不断添加记录的完整代码

linux中用C语言实现的自动在文件末尾不断添加记录的完整代码

Android中用Java代码实现zip文件解压缩(二)

[代码] DirTraversal.javapackage com.once; import java.io.File; import java.util.ArrayList; import...
  • zx4321
  • zx4321
  • 2012年07月03日 17:16
  • 1108

BCB中用Sender参数实现代码重用(修正版)

关键字:C++Builder,Sender参数,代码重用,Tobject类型,dynamic_cast,ch_builder作者:ch_builder    更新:2003-06-12    浏览:5...

Android中用Java代码实现zip文件解压缩

如果需要下载的文件有很多是中文名的,解压时有中文名的文件出现乱码,试了很多方法不能解决问题。据说有一个Java插件包,用这个插件包可以解决中文名乱码的问题,但不知解压的文件是否要用它提供的类压缩后的文...
  • zx4321
  • zx4321
  • 2012年07月03日 16:52
  • 12428

Android中用Java代码实现zip文件解压缩

如果需要下载的文件有很多是中文名的,解压时有中文名的文件出现乱码,试了很多方法不能解决问题。据说有一个Java插件包,用这个插件包可以解决中文名乱码的问题,但不知解压的文件是否要用它提供的类压缩后的文...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Ultraedit中用宏实现将选中的代码设置为注释
举报原因:
原因补充:

(最多只允许输入30个字)