Source Insight中的多行注释
我们经常要对一整段代码进行注释,很多代码编辑器都提供了这样的功能:用快捷键“Ctrl + /”来实现“//”的多行注释。
但是在用source insight的时候,发现竟然没有这样的功能。于是在网上搜了一下,sourceinsight里面的多行注释可以用宏来实现。
以下是实现多行注释的宏代码(在别的网站copy过来的,经过测试,还是很好用的):
macro MultiLineComment()
{
hwnd = GetCurrentWnd()
selection = GetWndSel(hwnd)
LnFirst =GetWndSelLnFirst(hwnd) //取首行行号
LnLast =GetWndSelLnLast(hwnd) //取末行行号
hbuf = GetCurrentBuf()
if(GetBufLine(hbuf, 0) =="//magic-number:tph85666031"){
stop
}
Ln = Lnfirst
buf = GetBufLine(hbuf, Ln)
len = strlen(buf)
while(Ln <= Lnlast) {
buf = GetBufLine(hbuf, Ln) //取Ln对应的行
if(buf ==""){ //跳过空行
Ln = Ln + 1
continue
}
if(StrMid(buf, 0, 1) == "/"){ //需要取消注释,防止只有单字符的行
if(StrMid(buf, 1, 2) == "/"){
PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
}
}
if(StrMid(buf,0,1) !="/"){ //需要添加注释
PutBufLine(hbuf, Ln, Cat("//", buf))
}
Ln = Ln + 1
}
SetWndSel(hwnd, selection)
}
将上面的代码另存为xxx.em文件,打开source insight,将该文件添加到工程中,然后在Options->KeyAssignments中你就可以看到这个宏了,宏的名字是MultiLineComments,然后我们为它分配快捷键“Ctrl + /”,然后就可以了。
这里还有一份添加“#ifdef 0”和“#endif”的宏代码:
macro AddMacroComment()
{
hwnd=GetCurrentWnd()
sel=GetWndSel(hwnd)
lnFirst=GetWndSelLnFirst(hwnd)
lnLast=GetWndSelLnLast(hwnd)
hbuf=GetCurrentBuf()
if (LnFirst == 0) {
szIfStart = ""
} else {
szIfStart = GetBufLine(hbuf, LnFirst-1)
}
szIfEnd = GetBufLine(hbuf, lnLast+1)
if (szIfStart == "#if 0" && szIfEnd =="#endif") {
DelBufLine(hbuf, lnLast+1)
DelBufLine(hbuf, lnFirst-1)
sel.lnFirst = sel.lnFirst – 1
sel.lnLast = sel.lnLast – 1
} else {
InsBufLine(hbuf, lnFirst, "#if 0")
InsBufLine(hbuf, lnLast+2, "#endif")
sel.lnFirst = sel.lnFirst + 1
sel.lnLast = sel.lnLast + 1
}
SetWndSel( hwnd, sel )
}
这份宏的代码可以把光标显示的行注释掉:
macro CommentSingleLine()
{
hbuf = GetCurrentBuf()
ln = GetBufLnCur(hbuf)
str = GetBufLine (hbuf, ln)
str = cat("/*",str)
str = cat(str,"*/")
PutBufLine (hbuf, ln, str)
}
将一行中鼠标选中部分注释掉:
macro CommentSelStr()
{
hbuf = GetCurrentBuf()
ln = GetBufLnCur(hbuf)
str = GetBufSelText(hbuf)
str = cat("/*",str)
str = cat(str,"*/")
SetBufSelText (hbuf, str)
}
最后是source insight与宏有关的资源:
· source insight官方的宏库
· source insight官方帮助文档
转载于:https://www.cnblogs.com/dongzhiquan/archive/2013/03/04/2943448.html
Source Insight中的多行注释相关推荐
- 在source insight 中添加系统字体
在source insight 中添加系统字体 1. "控制面板:--->"字体"--->找到Courier New(建议用这个字体,比Courier要平滑) ...
- 解决 Source Insight中的parse too complex问题
FROM:http://blog.csdn.net/kunbo_1399614213/article/details/46730049 Source Insight 在导入文件后,有个别的文件无法正常 ...
- 工具及方法 - 在Source Insight中使用代码格式化工具
在Source Insight 4.0中,有代码格式化工具: 当你打开某个源文件后,可以对当前文件进行格式修改: 有ANSI.GNU.K&R三种编码风格可以选择. 也可以自己进行设置: 同时, ...
- Source Insight中Quicker.em的使用方法
1.安装方法 Source Insight有很多宏可以用,这里介绍的宏是quicker.em这个宏,它是华为的一个员工写的,很实用. 1)安装quicker.em宏 一.打开base这个工程Proje ...
- Source Insight中显示函数调用关系的方法
接上一篇博客,解决了中文注释乱码后,使用Source Insight显示函数调用关系树状图 网上借鉴了一些经验,但感觉可能是版本不同未能完全奏效,下面我将记录我最终探寻出的解决方法 1.双击编辑器中需 ...
- Source Insight中查看文件显示全路径
使用Source insight的时候想看文件的全路径,但是默认的是中间省略的路径,所以可以通过: 1.Options-->Preferences-->Display 设置Trim lon ...
- ubuntu14.04中 gedit 凝视能显示中文,而source insight中显示为乱码的解决的方法
1.乱码显示情况: 2.用gedit打开文件,并用ctrl+shift+s(另存为),当中charactor coding选为chinese simplified(GB2312); 2.改动个文件名称 ...
- Source Insight中无法正确判断宏定义的问题
Source Insight阅读C语言项目,会出现#ifdef无法正确判断宏定义值导致无法正确跳转到#else的问题,因为软件本身只能识别TRUE和FALSE,解决方法是右键该宏定义选择"E ...
- Source Insight(vs2012,ultraedit) 中Tab键设置为4个空格代替
From: http://blog.csdn.net/wfdtxz/article/details/8520629 Source insight中显示TAB符用4个空格代替 Options->D ...
最新文章
- 非二叉树 UVA297 四分树 Quadtrees
- HDU 4614 Vases and Flowers 【线段树】+【二分】
- hdu5014 构造b数列使得t最大(小想法)
- 向服务器端提交数据的两种方式
- linux系统切换用户
- 【Linux】13_ 文件查找
- 还找不到数据异常原因?这份教程赶快拿走
- Java注解原理学习之@Cacheable debug
- 华科计算机系研究生遗书,看完华中科大研究生遗书《狗血的研究生生涯》,泪目了!有话要说...
- Silverlight 2 DataGrid December 2008
- no python application found_为什么我会得到“uWSGI Error Python application not found”?
- 全栈project师的毁与誉
- dw向右滚动字幕HTML,[转载]DW添加滚动字幕[转]
- 网络攻防|Web后门知识详解
- 基于STM32的多普勒雷达测速
- numpy 求向量夹角 区间 [-pi, +pi]
- 当我们在聊「开源大数据调度系统Taier」的数据开发功能时,到底在讨论什么?
- HTML+CSS写网站首页
- 《小狗钱钱》--chapter14~18--生活顺风顺水了起来
- 数据挖掘——数据挖掘的起源
热门文章
- java 统一编码_java GBK UTF-8编码与自动识别与统一(乱码问题)
- java 类的重载_Java自学-类和对象 方法重载
- 网工路由基础(1)静态路由
- KubeMeet 深圳站完整议题出炉 快来 get 云原生边缘计算硬核技术动态
- 3 种发布策略,解决 K8s 中快速交付应用的难题
- 华为服务器系统关机命令,云服务器关机指令
- 计算机听不到音乐怎么回事,电脑听不到声音怎么解决 电脑听不到声音的处理方法...
- nodejs 服务器怎么导入qs_nodejs基本原理总结
- 材料模拟python_用Python模拟无限生成器
- java 爬虫框架_不知道Python爬虫?这篇文章丢给他(内含框架结构)