[转]Source Insight使用小技巧小结
Source Insight是一款强大的代码查看工具,本身支持扩展性很好。下面我们就介绍2个扩展用例。
1、快速打开当前文件所在的目录,这个功能类似于eclipse的easyshell插件,就是能快速定位到文件所在的目录,这个在代码查看的时候是很有好处的。
按照以下步骤,首先进入【option】->【Custom Commands】
自定的命令名,个人发挥,关键是填入 explorer.exe %d,
设置快捷键CTRL+T
也可以将自定义命令加入Menu菜单中
到此设置完毕,可以通过快捷键CTRL+T,直接打开当前文件所在的目录。
2、与eclipse中快捷方便的注释反注释相比较,sI是有点古板和不方便额。但是可以通过自定义的宏块来改善这个情况。
首先,打开Projcet->Open project,选择base,可以看到utils.em文件,将下列宏添加到该文件中。
MultiLineComment宏功能就是可以注释、反注释代码
- 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) != "/"){ //需要添加注释
- buf = Cat("//", buf)
- if(Ln == Lnfirst){
- buf = Cat(buf,"//removed by jhy")//注释作者信息
- }
- PutBufLine(hbuf, Ln, buf)
- }
- Ln = Ln + 1
- }
- SetWndSel(hwnd, selection)
- }
- 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) != "/"){ //需要添加注释
- buf = Cat("//", buf)
- if(Ln == Lnfirst){
- buf = Cat(buf,"//removed by jhy")//注释作者信息
- }
- PutBufLine(hbuf, Ln, buf)
- }
- Ln = Ln + 1
- }
- SetWndSel(hwnd, selection)
- }
保存后,打开新的工程:options->key assignments(设置快捷键)
到此为止,我们在代码中使用ALT+X的快捷键看看,效果如下:
3、我们再来贴一个快速插入时间的宏,类似于UltraEdit中的F7快捷键功能
- macro MonthToName(MonthNum)
- {
- if (MonthNum== 1)
- return "Jan"
- if (MonthNum== 2)
- return "Feb"
- if (MonthNum== 3)
- return "Mar"
- if (MonthNum== 4)
- return "Apr"
- if (MonthNum== 5)
- return "May"
- if (MonthNum== 6)
- return "Jun"
- if (MonthNum== 7)
- return "Jul"
- if (MonthNum== 8)
- return "Aug"
- if (MonthNum== 9)
- return "Sep"
- if (MonthNum== 10)
- return "Oct"
- if (MonthNum== 11)
- return "Nov"
- if (MonthNum== 12)
- return "Dec"
- }
- macro DisplayDate()
- {
- szTime = GetSysTime(1)
- Day = szTime.Day
- Month = szTime.Month
- Year = szTime.Year
- if (Day < 10)
- szDay = "0@Day@"
- else
- szDay = Day
- szMonth = MonthToName(Month)
- hbuf = GetCurrentBuf()
- SetBufSelText(hbuf, "@szMonth@ @szDay@, @Year@")
- }
- macro MonthToName(MonthNum)
- {
- if (MonthNum== 1)
- return "Jan"
- if (MonthNum== 2)
- return "Feb"
- if (MonthNum== 3)
- return "Mar"
- if (MonthNum== 4)
- return "Apr"
- if (MonthNum== 5)
- return "May"
- if (MonthNum== 6)
- return "Jun"
- if (MonthNum== 7)
- return "Jul"
- if (MonthNum== 8)
- return "Aug"
- if (MonthNum== 9)
- return "Sep"
- if (MonthNum== 10)
- return "Oct"
- if (MonthNum== 11)
- return "Nov"
- if (MonthNum== 12)
- return "Dec"
- }
- macro DisplayDate()
- {
- szTime = GetSysTime(1)
- Day = szTime.Day
- Month = szTime.Month
- Year = szTime.Year
- if (Day < 10)
- szDay = "0@Day@"
- else
- szDay = Day
- szMonth = MonthToName(Month)
- hbuf = GetCurrentBuf()
- SetBufSelText(hbuf, "@szMonth@ @szDay@, @Year@"
转:
[转]Source Insight使用小技巧小结的更多相关文章
- Source Insight使用小技巧小结
Source Insight是一款强大的代码查看工具,本身支持扩展性很好.下面我们就介绍2个扩展用例. 1.快速打开当前文件所在的目录,这个功能类似于eclipse的easyshell插件,就是能快速 ...
- Source Insight的应用技巧、宏功能
目录 1 简介... 5 2 搭建我们的SI环境... 5 2.1 搭建步骤... 5 2.2 说明... 6 3 应用技巧... 6 3.1 初级应用技巧... 6 3.1.1 解决字体不等宽与对齐 ...
- Source Insight设置总结
在网上搜索了一些关于Source Insight的设置技巧,把这些结果给总结下来: 1. 背景色选择 要改变背景色Options->preference->windows backgrou ...
- source insight快捷键及使用技巧
source insight快捷键及使用技巧 退出程序 : Alt+F4 重画屏幕 ...
- Source Insight 技巧总结
以下文章转载自网络:http://blog.csdn.net/junjie319/article/details/6910992 http://www.cnblogs.com/bluestorm/ar ...
- [SourceInsight].source insight 使用技巧
转自:https://www.veryarm.com/140428.html 1 开胃菜-初级应用 1.1 选择美丽的界面享受工作 虽然不能以貌取人,但似乎从来没有人责备以貌取软件的.SI的华丽界 ...
- Source Insight使用技巧
1. source insight必设: option-->key assignments--> Edit: Delete Line ---- Assign New Key: Ctr ...
- source insight 支持verilog 及使用技巧
安装 1.首先到官网下载clf文件 http://www.sourceinsight.com/public/languages/ 2.配置source insight 以前有的先删除 Options ...
- source insight技巧
(1)在Source Insight中能不能设置永久Bookmark 可以从macro方面入手 (2)source insight中添加.S文件 (3)source insight里面怎么能不让它每次 ...
随机推荐
- linux backlog深入剖析以及netty设置backlog
netty不同于socket,其上次API没有提供设置backlog的选项,而是依赖于操作系统的somaxconn和tcp_max_syn_backlog,对于不同OS或版本,该值不同,建议根据实际并 ...
- mysql awr v1.0.2发布
改进说明: 1.新增监控Mysql实例通过web控制台http://ip:port/hosts.html进行,无需更改mysql-jdbc.properties配置文件和spring-servlet. ...
- 关于原生的Javascript
JQuery是个好工具,它做了太多的事. 以至于让人渐渐忘记原生的JS该怎么写了,导致连为了用个DOM选择器或者Ajax就直接加个JQuery,确实,JQuery太方便了. 坏处: 由于JQuery的 ...
- Android用路径api在内部存储读写文件
复制并修改原有项目 复制之前创建的项目CC+CV操作 需要改动的地方: * 项目名字 * 应用包名 * R文件重新导包 接着修改件/AndroidManifest.xml中的包名:package=&q ...
- iOS中 @synthesize 和 @dynamic 区别
OC object-c 为了让java的开发者习惯 使用.的操作,所以可以将接口类中的变量 使用@property来声明属性.但是在.h中声明的属性,必须在.m中使用@synthesize或者@dyn ...
- jar包双击执行程序
源文件:MyMenuTest.java 编译结果: C:\Users\zhangbz\Desktop\demo>javac MyMenuTest.java C:\Users\zhangbz\De ...
- JQuery怎么实现页面刷新后保留鼠标点击样式的方法
今天抽空研究了下鼠标点击添加样式的方法.为了防止忘记,写篇文章算是备份吧. $('ul.main-menu li a').each(function(){ if($($(this))[0].h ...
- LeetCode 2 Add Two Numbers(链表操作)
题目来源:https://leetcode.com/problems/add-two-numbers/ You are given two linked lists representing two ...
- node.js之看懂package.json依赖库版本控制
金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉.node.js依赖库的版本控制 一般node.js项目会依赖大量第三方module, 那么如何控制modu ...
- Erlang 虚拟机 BEAM 指令集之内存管理相关的指令
翻看 BEAM 虚拟机指令集的时候(在编译器源码目录下:lib/compiler/src/genop.tab),会发现有一些和内存分配/解除分配相关的指令,如下所示: allocate StackNe ...