SourceInsight宏插件1(非常好用,强力推荐)
对于一直使用sourceinsight编辑C/C++代码的工程师们,sourceinsight是一个非常好用的编辑工具可以任意定位,跳转,回退,本人一直使用该工具做C/C++开发,sourceinsight能够满足我的大部分需求,但是有些功能没有总觉得是一个缺憾。源码链接:链接:https://pan.baidu.com/s/1DpGV75XeSpQrP1BlFbYHHg 密码:bqq6
<1>.在SourceInsight里使用"#if 0 #endif"注释,可用下面的方法添加宏插件。
- 在C:\Users\计算机名\Documents\Source Insight\Projects\Base中有个utils.em文件.打开编辑(注:最好预先备份utils.em)
- 在文档的最后添加以下代码.
macro Custom_AddMacroComment()//Alt+1
{ //add #if 0 #endif
hwnd=GetCurrentWnd()
sel=GetWndSel(hwnd)
lnFirst=GetWndSelLnFirst(hwnd)
lnLast=GetWndSelLnLast(hwnd)
hbuf=GetCurrentBuf() if (LnFirst == )
{
szIfStart = ""
}
else
{
szIfStart = GetBufLine(hbuf, LnFirst-)
} szIfEnd = GetBufLine(hbuf, lnLast+) if (szIfStart == "#if 0" && szIfEnd =="#endif")
{
DelBufLine(hbuf, lnLast+)
DelBufLine(hbuf, lnFirst-)
sel.lnFirst = sel.lnFirst –
sel.lnLast = sel.lnLast –
}
else
{
InsBufLine(hbuf, lnFirst, "#if 0")
InsBufLine(hbuf, lnLast+, "#endif")
sel.lnFirst = sel.lnFirst +
sel.lnLast = sel.lnLast +
}
SetWndSel( hwnd, sel )
}
- 打开任意一个SI工程,点击Project->Open Project->Base,以此打开Base工程(此工程是SI的默认基础工程,如果不打开Base工程,在后面的操作中将不会显示所添加的宏),然后关闭此工程.
- 再打开任意一个SI工程,点击Options->Key Assignments,然后查找Custom_AddMacroComment
- 点击Assign New Key,此时输入键盘上想设置的快捷键(觉得Alt+X比较顺手).点击OK.
<2>.在SourceInsight里使用多行“//”注释,可用下面代码添加宏插件,方法如<1>.
macro Custom_MultiLineComment()//Alt+2
{ //comment multiple lines
hwnd = GetCurrentWnd()
selection = GetWndSel(hwnd)
LnFirst = GetWndSelLnFirst(hwnd)
LnLast = GetWndSelLnLast(hwnd)
hbuf = GetCurrentBuf() if(GetBufLine(hbuf, ) == "//magic-number:tph85666031")
{
stop
} Ln = Lnfirst
buf = GetBufLine(hbuf, Ln)
len = strlen(buf) while(Ln <= Lnlast)
{
buf = GetBufLine(hbuf, Ln)
if(buf == "")
{
Ln = Ln +
continue
} if(StrMid(buf, , ) == "/")
{
if(StrMid(buf, , ) == "/")
{
PutBufLine(hbuf, Ln, StrMid(buf, , Strlen(buf)))
}
} if(StrMid(buf,,) != "/")
{
PutBufLine(hbuf, Ln, Cat("//", buf))
}
Ln = Ln +
} SetWndSel(hwnd, selection)
}
<3>.在SourceInsight里去除多行“//”注释,可用下面代码添加宏插件,方法如<1>.
macro Custom_RemoveMultiLineComment()//Alt+3
{ //Uncomment multiple lines
hwnd = GetCurrentWnd()
selection = GetWndSel( hwnd )
lnFirst = GetWndSelLnFirst( hwnd )
lnLast = GetWndSelLnLast( hwnd ) hbuf = GetCurrentBuf()
ln = lnFirst
while( ln <= lnLast )
{
buf = GetBufLine( hbuf, ln )
len = strlen( buf )
if( len >= )
{
start = while( strmid( buf, start, start + ) == CharFromAscii() || strmid( buf, start, start + ) == CharFromAscii() )
{
start = start +
if( start >= len )
break
}
if( start < len - )
{
if( strmid( buf, start, start + ) == "//" )
{
buf2 = cat( strmid( buf, , start ), strmid( buf, start + , len ) )
PutBufLine( hbuf, ln, buf2 )
}
}
}
ln = ln +
}
SetWndSel( hwnd, selection )
}
代码非原创,如有侵权,请联系删除
SourceInsight宏插件1(非常好用,强力推荐)的更多相关文章
- SourceInsight宏插件3(非常好用,强力推荐)
openfolder.em源码:(链接:https://pan.baidu.com/s/1draaimWzCHZ3vLxL--lfiQ 提取码:zyq4) //使用资源管理器打开当前文件所在文件夹, ...
- SourceInsight宏插件2(非常好用,强力推荐)
Quicker宏在SI中的使用方法(下载地址:链接:https://pan.baidu.com/s/1VrDxlPhft7RPUCCOKxsGIg 提取码:2d4u) Quicker宏的添加到SI中 ...
- 利用sourceinsight宏(Quicker.em)提高编码效率和质量
利用sourceinsight宏(Quicker.em)提高编码效率和质量Marco是sourceinsight软件一个强大的功能,用户可以通过编写宏来实现自定义功能.这里有个比较流行的宏文件quic ...
- 非常适用的Sourceinsight插件,提高效率【强力推荐】
转自:http://www.cnblogs.com/heiyue/p/6225975.html 一直使用sourceinsight编辑C/C++代码,sourceinsight是一个非常好用的编辑工具 ...
- quicker+.em SourceInsight 宏加强版制作
这两天苦于新建的文件每次都要手动添加文件头,新建的函数每次都要手动添加函数说明,连.h也要手动生成.于是乎,上网搜了搜,发现了lushengwen写的一个神器:quicker.em .好家伙,有了这个 ...
- 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!
本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...
- 如何让Ubuntu系统支持WebP图片格式
本文主要向大家介绍如何让 Ubuntu 系统支持查看 WebP 图片格式,以及如何将 WebP 转为 JPEG 或 PNG 图片格式的方法. 什么是WebP图片 Google开发并推出 WebP 图片 ...
- excel多个sheet表拆分成独立的excel文件
一.问题: 公司做一个项目,给的用户上报文是一个包含多个sheet页的excel文件, 但是在实际处理报文数据的时候需要拆分excel文件为多个独立的报文excel文件 二.解决: (1)一个一个的复 ...
- 性能测试之nmon对linux服务器的监控
大家都知道在做性能测试的时候,需要监控服务器的资源情况,而大多数服务器是Linux系统,网上资料嘿多,这里汇总介绍下Nmon监控工具: -------------------------------- ...
随机推荐
- css 实现的网页布局
css 实现网页布局,上中下三部分,中间为固定宽度且分为左右两部分 <!DOCTYPE html> <html> <head> <meta charset ...
- 16 多校8 Rikka with Parenthesis II
As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some mat ...
- Java 继承extends、关键字super和this、多态、动态绑定
Manager 经理 extends Employee 雇员 "is-a"(是)关系是继承的一个明显特征.每个经理都是一名雇员. 从术语的角度讲,Manager是子类,Emplo ...
- ArcGIS中的数据连接问题——数据类型不统一
博主在研究空间数据分布的时候经常会用到 ArcGIS 进行空间数据可视化.但是有时候会由于数据类型不统一而无法将 csv 中的数据连接到底图上.比如在底图中的数据是字符串格式,而 csv 中是数字格式 ...
- 【转载】 opencv, PIL.Image的彩色图片维度 && caffe和pytorch的矩阵维度
原文地址: https://blog.csdn.net/u011668104/article/details/82718375 ------------------------------------ ...
- 认识MySQL中的索引
一.什么是索引 索引是一种将数据库中单列或者多列的值进行排序的结构,引用索引可以大大提高索引的速度. 二.索引的优缺点 优点:整体上提高查询的速度,提高系统的整体性能. 缺点:创建索引和维护索引都需要 ...
- Gym.101955: Asia Shenyang Regional Contest(寒假自训第10场)
C.Insertion Sort 题意:Q次询问,每次给出N,M,Mod,问你有多少种排列,满足前面M个数字排序之后整个序列的LIS>=N-1. 思路:我们把数字看成[1,M],[N-M+1,N ...
- 20155219实验三 敏捷开发与XP实践
实验内容 XP基础 XP核心实践 相关工具 敏捷开发与XP 1.敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法."敏捷流程"是一系列价值观 ...
- nmon使用命令
nmon使用命令 启动nmon后, c 查看CPU监控的窗口 mV 查看内存和虚拟内存 V是大写 ndt 查看网络.磁盘和虚拟进程 q ...
- 【状压DP】【HDOJ1074】
http://acm.hdu.edu.cn/showproblem.php?pid=1074 Doing Homework Time Limit: 2000/1000 MS (Java/Others) ...