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

[cpp] view plaincopyprint?

  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. }

[cpp] view plaincopyprint?

  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快捷键功能

[cpp] view plaincopyprint?

  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 = "[email protected]@"
  36. else
  37. szDay = Day
  38. szMonth = MonthToName(Month)
  39. hbuf = GetCurrentBuf()
  40. SetBufSelText(hbuf, "@[email protected] @[email protected], @[email protected]")
  41. }

[cpp] view plaincopyprint?

    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 = "[email protected]@"
    36. else
    37. szDay = Day
    38. szMonth = MonthToName(Month)
    39. hbuf = GetCurrentBuf()
    40. SetBufSelText(hbuf, "@[email protected] @[email protected], @[email protected]"

转:

时间: 2024-10-15 18:56:15

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

Source Insight 使用

摘要: 看见教程Qt视频中,在使用Source Insight软件 ---------------------------------------------------------- Source Insight 常用使用技巧1) 按住"ctrl", 再用鼠标指向某个变量(或函数),点击一下,就能进入这个变量(或函数)的定义.2) 快捷键 "Alt + F12",可以让显示界面中的每个字符宽度一致.3) "shift+F8" 标亮所有文本中光标

source insight快捷键及使用技巧

退出程序                             : Alt+F4 重画屏幕                             : Ctrl+Alt+Space 完成语法                             : Ctrl+E 复制一行                             : Ctrl+K 恰好复制该位置右边的该行的字符       : Ctrl+Shift+K 复制到剪贴板                         : Ctrl

source insight 使用技巧

source insight 使用技巧 1 sourceinsight screen font 的默认字体是Verdana的,它是一直变宽字体.在Document style中可以将字体改为定宽的Courier 2   document options->auto indent 去掉indent Open Brace和Indent Close Brace的效果: 继上一段,在相对缩进行里, 如果输入"{"或"}", 则自动和上一行列对齐 3 今天把一个用sou

Source Insight使用技巧

Source Insight 捷键及使用技巧 退出程序 :Alt+F4 重画屏幕 :Ctrl+Alt+Space 完成语法 :Ctrl+E 复制一行 :Ctrl+K 恰好复制该位置右边的该行的字符: Ctrl+Shift+K 复制到剪贴板 :Ctrl+Del 剪切一行 :Ctrl+U 剪切该位置右边的该行的字符 :Ctrl+; 剪切到剪贴板 :Ctrl+Shift+X 剪切一个字 :Ctrl+, 左边缩进 : F9 右边缩进 : F10 插入一行 :Ctrl+I 插入新行 :Ctrl+Enter

Source Insight技巧收集

? ? ? 1.背景色选择 ??? 要改变背景色Options->preference->windows background->color设置背景色 2.解决字符等宽对齐问题. ??? SIS默认字体是VERDANA,很漂亮.这网页上应该也是用的VERDANA字体.但由于美观的缘故,VERDANA字体是不等宽的.比如下面两行 ??? llllllllll ??? MMMMMMMMMM ??? 同样10个字符,长度差多了.用VERDANA来看程序,有些本应该对齐的就歪了.解放方法是使用等

[SourceInsight].source insight 使用技巧

转自:https://www.veryarm.com/140428.html 1  开胃菜-初级应用 1.1  选择美丽的界面享受工作 虽然不能以貌取人,但似乎从来没有人责备以貌取软件的.SI的华丽界面,绝对符合现代花花世界的人的审美趣味.在SI中,我们可以轻松地把各种类型关键字.变量.标志符.函数.宏.注释等定义为不同的颜色和显示方式(正体或斜体.加粗或正常.加下划线.放大显示等),总有一种方式能让我们一眼就能分辨出这个标识是什么. 1.1.1  字体选择 在SI中样式是可以被继承,如果要从根

source insight实用技巧

1 向项目中添加文件时,添加特定类型的文件(文件类型过滤器) 添加.pc文件和makefile文件,类型分别为C++,和Make File Options -> Document Options... Alt-T    -> 点击Document Type的下拉框,然后选择Make File,在右边的File Filter中,在原先的*.mak后面加上一个分号,即多个不同过滤规则以分号间隔开,再加上*makefile,变成 *.mak;*makefile,并且选中Include when ad

source Insight使用技巧与问题解决

1.遇到窗口无法恢复到默认状态 进入我的文档里面Source Insight\Settings文件夹里面关闭SI,把settings里边的配置文件删掉,重新打开SI,就恢复默认的全部设置了. 2.source insight函数调用关系设置 可以设置显示调用关系为调用关系或者被调用关系. 通过对圈子里的按钮进行配置,修改下图中的红框里面的内容为Referenced by Functions,系统默认为calls,即默认为调用关系的显示. 3.符号表窗口图标介绍 1)预编译指令 2)宏定义,(不带

source insight技巧

(1)在Source Insight中能不能设置永久Bookmark 可以从macro方面入手 (2)source insight中添加.S文件 (3)source insight里面怎么能不让它每次都跳出symbol window? document options可以设置type是否打开symbol windows (4)打开工程文件时模糊匹配 preferences->typing browsing in lists两个都打勾 (5)只显示颜色,字体不变 preferences->Syn