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宏功能就是可以注释、反注释代码

  1. macro MultiLineComment()
  2. {
  3. hwnd = GetCurrentWnd()
  4. selection = GetWndSel(hwnd)
  5. LnFirst = GetWndSelLnFirst(hwnd)      //取首行行号
  6. LnLast = GetWndSelLnLast(hwnd)      //取末行行号
  7. hbuf = GetCurrentBuf()
  8. if(GetBufLine(hbuf, 0) == "//magic-number:tph85666031"){
  9. stop
  10. }
  11. Ln = Lnfirst
  12. buf = GetBufLine(hbuf, Ln)
  13. len = strlen(buf)
  14. while(Ln <= Lnlast) {
  15. buf = GetBufLine(hbuf, Ln)  //取Ln对应的行
  16. if(buf == ""){                    //跳过空行
  17. Ln = Ln + 1
  18. continue
  19. }
  20. if(StrMid(buf, 0, 1) == "/") {       //需要取消注释,防止只有单字符的行
  21. if(StrMid(buf, 1, 2) == "/"){
  22. PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
  23. }
  24. }
  25. if(StrMid(buf,0,1) != "/"){          //需要添加注释
  26. buf = Cat("//", buf)
  27. if(Ln == Lnfirst){
  28. buf = Cat(buf,"//removed by jhy")//注释作者信息
  29. }
  30. PutBufLine(hbuf, Ln, buf)
  31. }
  32. Ln = Ln + 1
  33. }
  34. SetWndSel(hwnd, selection)
  35. }
  1. macro MultiLineComment()
  2. {
  3. hwnd = GetCurrentWnd()
  4. selection = GetWndSel(hwnd)
  5. LnFirst = GetWndSelLnFirst(hwnd)      //取首行行号
  6. LnLast = GetWndSelLnLast(hwnd)      //取末行行号
  7. hbuf = GetCurrentBuf()
  8. if(GetBufLine(hbuf, 0) == "//magic-number:tph85666031"){
  9. stop
  10. }
  11. Ln = Lnfirst
  12. buf = GetBufLine(hbuf, Ln)
  13. len = strlen(buf)
  14. while(Ln <= Lnlast) {
  15. buf = GetBufLine(hbuf, Ln)  //取Ln对应的行
  16. if(buf == ""){                    //跳过空行
  17. Ln = Ln + 1
  18. continue
  19. }
  20. if(StrMid(buf, 0, 1) == "/") {       //需要取消注释,防止只有单字符的行
  21. if(StrMid(buf, 1, 2) == "/"){
  22. PutBufLine(hbuf, Ln, StrMid(buf, 2, Strlen(buf)))
  23. }
  24. }
  25. if(StrMid(buf,0,1) != "/"){          //需要添加注释
  26. buf = Cat("//", buf)
  27. if(Ln == Lnfirst){
  28. buf = Cat(buf,"//removed by jhy")//注释作者信息
  29. }
  30. PutBufLine(hbuf, Ln, buf)
  31. }
  32. Ln = Ln + 1
  33. }
  34. SetWndSel(hwnd, selection)
  35. }

保存后,打开新的工程:options->key assignments(设置快捷键)

到此为止,我们在代码中使用ALT+X的快捷键看看,效果如下:

3、我们再来贴一个快速插入时间的宏,类似于UltraEdit中的F7快捷键功能

  1. macro MonthToName(MonthNum)
  2. {
  3. if (MonthNum== 1)
  4. return "Jan"
  5. if (MonthNum== 2)
  6. return "Feb"
  7. if (MonthNum== 3)
  8. return "Mar"
  9. if (MonthNum== 4)
  10. return "Apr"
  11. if (MonthNum== 5)
  12. return "May"
  13. if (MonthNum== 6)
  14. return "Jun"
  15. if (MonthNum== 7)
  16. return "Jul"
  17. if (MonthNum== 8)
  18. return "Aug"
  19. if (MonthNum== 9)
  20. return "Sep"
  21. if (MonthNum== 10)
  22. return "Oct"
  23. if (MonthNum== 11)
  24. return "Nov"
  25. if (MonthNum== 12)
  26. return "Dec"
  27. }
  28. macro DisplayDate()
  29. {
  30. szTime = GetSysTime(1)
  31. Day = szTime.Day
  32. Month = szTime.Month
  33. Year = szTime.Year
  34. if (Day < 10)
  35. szDay = "0@Day@"
  36. else
  37. szDay = Day
  38. szMonth = MonthToName(Month)
  39. hbuf = GetCurrentBuf()
  40. SetBufSelText(hbuf, "@szMonth@ @szDay@, @Year@")
  41. }
    1. macro MonthToName(MonthNum)
    2. {
    3. if (MonthNum== 1)
    4. return "Jan"
    5. if (MonthNum== 2)
    6. return "Feb"
    7. if (MonthNum== 3)
    8. return "Mar"
    9. if (MonthNum== 4)
    10. return "Apr"
    11. if (MonthNum== 5)
    12. return "May"
    13. if (MonthNum== 6)
    14. return "Jun"
    15. if (MonthNum== 7)
    16. return "Jul"
    17. if (MonthNum== 8)
    18. return "Aug"
    19. if (MonthNum== 9)
    20. return "Sep"
    21. if (MonthNum== 10)
    22. return "Oct"
    23. if (MonthNum== 11)
    24. return "Nov"
    25. if (MonthNum== 12)
    26. return "Dec"
    27. }
    28. macro DisplayDate()
    29. {
    30. szTime = GetSysTime(1)
    31. Day = szTime.Day
    32. Month = szTime.Month
    33. Year = szTime.Year
    34. if (Day < 10)
    35. szDay = "0@Day@"
    36. else
    37. szDay = Day
    38. szMonth = MonthToName(Month)
    39. hbuf = GetCurrentBuf()
    40. SetBufSelText(hbuf, "@szMonth@ @szDay@, @Year@"

转:

[转]Source Insight使用小技巧小结的更多相关文章

  1. Source Insight使用小技巧小结

    Source Insight是一款强大的代码查看工具,本身支持扩展性很好.下面我们就介绍2个扩展用例. 1.快速打开当前文件所在的目录,这个功能类似于eclipse的easyshell插件,就是能快速 ...

  2. Source Insight的应用技巧、宏功能

    目录 1 简介... 5 2 搭建我们的SI环境... 5 2.1 搭建步骤... 5 2.2 说明... 6 3 应用技巧... 6 3.1 初级应用技巧... 6 3.1.1 解决字体不等宽与对齐 ...

  3. Source Insight设置总结

    在网上搜索了一些关于Source Insight的设置技巧,把这些结果给总结下来: 1. 背景色选择 要改变背景色Options->preference->windows backgrou ...

  4. source insight快捷键及使用技巧

      source insight快捷键及使用技巧 退出程序                             : Alt+F4 重画屏幕                             ...

  5. Source Insight 技巧总结

    以下文章转载自网络:http://blog.csdn.net/junjie319/article/details/6910992 http://www.cnblogs.com/bluestorm/ar ...

  6. [SourceInsight].source insight 使用技巧

    转自:https://www.veryarm.com/140428.html 1  开胃菜-初级应用 1.1  选择美丽的界面享受工作 虽然不能以貌取人,但似乎从来没有人责备以貌取软件的.SI的华丽界 ...

  7. Source Insight使用技巧

    1. source insight必设: option-->key assignments-->    Edit: Delete Line ---- Assign New Key: Ctr ...

  8. source insight 支持verilog 及使用技巧

    安装 1.首先到官网下载clf文件 http://www.sourceinsight.com/public/languages/ 2.配置source insight 以前有的先删除 Options ...

  9. source insight技巧

    (1)在Source Insight中能不能设置永久Bookmark 可以从macro方面入手 (2)source insight中添加.S文件 (3)source insight里面怎么能不让它每次 ...

随机推荐

  1. C++ 面向对象的三个特点--继承与封装(二)

    顺着上一篇的内容,我们继续来了解继承的基本知识. 派生类的构造函数和析构函数 派生类继承了基类的成员,但是不能继承基类的构造函数和析构函数,首先,我们了解构造函数和析构函数的执行顺序是当我们创建一个派 ...

  2. express新旧语法对比

    备个份, 原文: http://stackoverflow.com/questions/25550819/error-most-middleware-like-bodyparser-is-no-lon ...

  3. js 中{},[]中括号,大括号

    1. { } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数. 如: var LangShen = {"Name":"Langshen",& ...

  4. 使用sublime text 2 版本至今我所遇到的问题及解决方法

    1.汉化:下载汉化包 .打开程序Preference下的浏览包文件夹.将解压的程序包粘贴进包文件夹2.破解:标题栏上面有带(unregistered)表示还没有注册: 打开HELP→Enter lic ...

  5. andriod 动态创建控件

    Button btNext=(Button)findViewById(R.id.next); btNext.setOnClickListener(new Button.OnClickListener( ...

  6. 【转】R语言笔记--颜色的使用

    转自该网站:http://research.stowers-institute.org/efg/R/Color/Chart/ 科学可视化中常用的一些颜色表:http://geog.uoregon.ed ...

  7. File类的常用方法

    public static void GetFileInfo()    {                File file=new File("e:","two.txt ...

  8. Effective Java 阅读笔记——并发

    66:同步访问共享的可变数据 synchronized:1互斥,阻止线程看到的对象处于不一致的状态:2保证线程在进入同步区时能看到变量的被各个线程的所有修改 Java中,除了long或者double, ...

  9. swift网络编程入门应用:天气预报

    学习来自<小波说雨燕 第二季 网络编程(入门篇)> 工具:xcode6.4 首先在Main.storyborad中添加并设置好三个label做简单的界面显示: import UIKit / ...

  10. android 之 adb 启动问题的一般解决办法

    有时,当我们打开eclipse准备运行Android项目时,虚拟机会启动不了,并且会出现下面的报错. [2015-10-07 16:47:46 - Game2048] ---------------- ...