Source Insight常用快捷键及注释快捷键设置

简介:

在使用SI过程中,我根据自己的使用习惯修改了它的默认快捷键,并且在配置文件中添加了一些人性化功能,下面一一介绍:

 修改快捷键:Options->Key Assignments...

1.main window:Esc       2.Hight light:Middle Mouse

3.Go Back:Alt+z              4.Go Forward:Alt+x               

5.Caller:Alt+c                  6.Reference:Alt+r

7.Previous Link:Alt+a    8.Next Link:Alt+s

9.First Link:Alt+d           

10.Go Line:Alt+g           11.Select Line:Alt+l

12.Symbol Win:Alt+q    13.Activate SW:Alt+w

14.Projcet Win:Alt+[       15.Activate PW:Alt+]

16.Contex Win:Alt+,     17.Activate CW:Alt+.

18.Relation Win:Alt+;   19.Activate RW:Alt+'

20.Select All:Ctrl+a          21.Save All:Ctrl+Shift+a

22.Browse Project Symbols:Alt+b

 

添加一些配置文件宏,比如:注释掉代码:单行注释、多行注释,将选中内容注释掉;在一行代码的前、后添加注释性文字等。

打开Projcet->Open project,选择base,可以看到utils.em文件,将下列宏添加到该文件中,并在其他工程里加入该文件,

在上面介绍的快捷键添加方式里找到该宏并自定义快捷键。

单行、多行注释:

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

 

将上面的代码保存到utils.em文件,打开source insight,将该文件添加到工程中,然后在Options->Key Assignments中你就可以看到这个宏了,宏的名字是MultiLineComments,然后我们为它分配快捷键“Ctrl + /”,然后就可以了。

 

这是一份添加“#ifdef 0”和“#endif”的宏代码,定义快捷键为Ctrl+#

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

将一行中鼠标选中部分注释掉,定义快捷键为Ctrl+shift+*:

macro CommentSelStr()
{
hbuf = GetCurrentBuf()
ln = GetBufLnCur(hbuf)
str = GetBufSelText(hbuf)
str = cat("/*",str)
str = cat(str,"*/")
SetBufSelText (hbuf, str)
}

在一行代码前添加注释性文字,定义快捷键为Alt+/:

 

在一行代码前添加注释性文字,定义快捷键为Alt+\:

 

 

最后是source insight与宏有关的资源:





本文转自einyboy博客园博客,原文链接:http://www.cnblogs.com/einyboy/archive/2013/01/14/2859341.html,如需转载请自行联系原作者。
目录
相关文章
|
3月前
|
uml
Source insght4.0快捷键
Source insght4.0快捷键
35 0
|
11天前
设置WebStorm查看本地源码文件个人修改的历史记录快捷键Alt+Shift+H、Ctrl+Shift+H(通常用于调试bug,发现文件出问题需要回溯到若干天之前)
设置WebStorm查看本地源码文件个人修改的历史记录快捷键Alt+Shift+H、Ctrl+Shift+H(通常用于调试bug,发现文件出问题需要回溯到若干天之前)
|
6月前
【IntelliJ IDEA】idea 收起注释、打开注释、隐藏注释的快捷键
【IntelliJ IDEA】idea 收起注释、打开注释、隐藏注释的快捷键
225 0
|
4月前
解决IDEA 【alt + insert快捷键】不能使用的原因,亲测,可用!!!!
解决IDEA 【alt + insert快捷键】不能使用的原因,亲测,可用!!!!
|
9月前
|
Android开发
idea2021.2设置eclipse快捷键后提取变量快捷键Alt+shift+L失效
如下图,搜索var,这个快捷键是有配置的,右键删除再添加就会提示你还有其他地方使用这个快捷键,点确认删除就可以了
IDEA快捷键设置复制上一行(CTRL+D)
IDEA快捷键设置复制上一行(CTRL+D)
IDEA快捷键设置复制上一行(CTRL+D)
IDEA、关闭当前文件、快捷键改为Ctrl + W
IDEA、关闭当前文件、快捷键改为Ctrl + W
357 0
IDEA、关闭当前文件、快捷键改为Ctrl + W
idea全局搜索快捷键Ctrl+Shift+F不起作用
idea全局搜索快捷键Ctrl+Shift+F不起作用
307 0
idea全局搜索快捷键Ctrl+Shift+F不起作用
解决IDEA中ctrl+shift+f快捷键搜索没反应的问题
解决IDEA中ctrl+shift+f快捷键搜索没反应的问题
162 0
解决IDEA中ctrl+shift+f快捷键搜索没反应的问题
|
IDE 开发工具 Android开发
IDEA快捷键改为eclipse的快捷键(完整版)、常用快捷键、导入已有的设置
IDEA快捷键改为eclipse的快捷键(完整版)、常用快捷键、导入已有的设置
IDEA快捷键改为eclipse的快捷键(完整版)、常用快捷键、导入已有的设置