这一篇博客会对SI的两点进行说明:
一是SI的窗口简单介绍;
二是SI的快捷键设置(重点)
一、窗口介绍
窗口1:标题窗口symbol window
作用:列出当前文件中所有函数、变量、宏,用于快速定位
窗口2:Source File Windows编辑区
作用:阅读代码
窗口3:Project Window工程窗口
作用:快速定位你要找的文件
窗口4:Context Window定义窗口
作用:自动显示当前光标所在的那个变量、函数或宏的定义
窗口5:Relation Window关系窗口
作用:1)当编辑区选中某个函数时,Relation Window窗口就会出现一个关系图,展示该函数和该函数中调用的其它函数与被调用关系图。细看你会发现各条线末端都有一个箭头,用于显示调用(-)与被调用(->函数被指向)的关系。
比如,我定义了一个int max()函数,在max()函数定义中引用了add()函数和mul()函数的情况下,Relation Window中的图就是:
2)当编辑区中选中某个宏或变量时,Relation Window窗口就出现该宏和变量在整个工程中被引用的关系
二、快捷键及自己设置快捷键
前提:窗口介绍完后,我想特别写一下关于SI快捷键设置的问题,因为我发现在CSDN的blog中介绍Source Insight时,自己设置快捷键这一块却提到的较少。
但是,能够设置独立风格、快捷、方便的快捷键,才是我喜欢用SI来阅读代码的一个非常大的理由,它是那么重要,那么方便,甚至是一件非常酷的事情。
先给出一篇介绍SI中原始快捷键比较全的博客:点击打开链接,或者这篇文章:点击打开链接
接下来介绍:
自己设置快捷键流程:
1、设置快捷键操作:Options--key assignments
2、进去之后,出现界面:
3、具体操作举例:在左侧窗口中找到Navigation:Go Back(后退)命令,点击它,会发现它默认快捷键是:Alt+.。
然后点击“Assign New key”(表示录入一个新的快捷键),此时我们同时按下Ctrl Shift B,你会发现这个快捷键成功被收录。同时,你可以把原快捷键删除,选择Alt+.然后点击“Delete Assignment”,这个快捷键就被删除了。
此时,在编辑区同时按下Ctrl Shift B,对应的就是后退操作。
注意:在使用快捷键时,有一个问题,必须使用中文(简体)-美式键盘,就是一般电脑自带的那个最原始键盘。如果输入法选择的是搜狗拼音输入法\五笔\微软拼音\等等,快捷键可能失效。
所以,有时快捷键不好使了,一定要看看,是不是在使用快捷键时,输入ctrl shift组合键错误的把当前键盘改了的原因。
推荐:电脑最好保留两个键盘,一个美式键盘,另一个搜狗拼音。把美式键盘做为默认键盘,这样可以保证绝大多数都不会出错。而要用搜狗拼音时,切换一下键盘就好,也很方便。
点击上面这个网站,这个网站是Source Insight的官方介绍网站,列出了SI中所有的命令。你可以查看其中某一个命令,它里面会有对这个命令做比较详细的介绍。如果相关命令弹出的是一个对话框,它同样会对这个对话框中的所有选项进行一个说明。比如你可以在这个网站中找到Search Files命令(就是全工程查找命令),点开它,你会发现里面会介绍这个命令的作用,以及它对话框中相关操作的解释。
下面是我自己设置的一些快捷键:
命令的含义 命令的英文 命令的快捷键
转到定义 Symbol : jump to definition Ctrl d
查看函数引用 Symbol : jump to caller Ctrl shift z
向前跳 Navigation: Go back Ctrl shift b
向后跳 Navigation: Go forward Ctrl shift backspace
查找变量 Search: Search Ctrl f
全工程查找变量 Search: Search Files ctrl shift f
选择整行 Navigation: Select Line ctrl win键
书签 Navigation: Bookmark Ctrl M
高亮 View: Highlight Word Shift F8
为什么要特别贴上英文,想必你在实际找命令,改命令时就会知道吧。
在这里我想提一下两个查找快捷键ctrl f 和 ctrl shift f 的使用
ctrl f和ctrl shift f两个查找的区别在于范围不一样,前一个是文件内查找,后一个是全工程查找。
1) ctrl f (Search)
界面:
Options(操作):
① Case Sensitive 区分大小写
解析:如果搜索RMData,你打在Find框中的是rMData,并且选了这个选项的话,你是搜不到RMData的。虽然这种情况可以通过Wrap Around选项来找到RMData。
② Use Regular Expressions 使用正则表达式(较常用)
解析:当你不是很清楚所搜索文本是怎样时,可以使用正则表达式进行搜索,正则表达式的使用具体可以看下面这篇博客:点击打开链接
③ Wrap Around 不全搜索(较常用)
解析:比如你搜索RMData,但是你只输入的是RMDat,如果你不选择该选项,你是不可能通过RMDat找到RMData的,因为它意味着全部匹配搜索。如果选择了该选项,意味着部分匹配搜索,只要部分匹配就可以。
④ Select When Found 找到时,选中这个变量
解析,这个选项是在找到时,自动选择那个被找的文本,如果不选择该项,找到时同样会跳转,但是不会选中那个文本。
⑤ Whole Words Only 全字匹配
解析:比如你搜索RMData,你输入的是rmdata,选择这个选项他是可以找到的。如果你输入的是rmda,那么这个选项,就不能通过rmda找到RMData。可见,这个选项不区分大小写,但是要全字匹配。
Search操作
① forward:向前找
② backward:向后找
根据自己需求,选择选项,然后点击“Search”就可以了。
然后,可以通过F3(向前查找)或F4(向后查找),来查看当前文件中所有的被查找文本。
2) ctrl shift f (Search Files)
界面:
讲解:
1、首先是最上面的Find框,输入你要找的内容
2、其次是左边的目录框,显示的是新建工程时添加的所有目录和文件。可以选择其中一个目录或多个目录进行搜索。如果要选择框中罗列出的所有文件,点击最右侧的“Select All”按钮。
3、中间的Options和Search Results
4、最右边的执行按钮
说明一下Options里面的选项:
① Project Wide 项目内查找
② Include Subdirectories 包含子目录
解析:递归地查找选中目录中的所有子目录下的文件。如果不选,就不会在目录的子目录及更深子目录下的文件中进行查找
③ Case Sensitive 区分大小写
④ Use Regular Expressions 使用正则表达式搜索
⑤ Find Non - matching 找出匹配不到关键字的所有行(一般不选)
⑥ Whole Words Only 全字匹配
⑦ Skip Inactive Code 跳过无效代码
⑧ Skip Comments 跳过注释
⑨ Search Only Comments 只在注释中查找
最后分享一篇介绍SI的文档:点击打开链接 和Source Insight官方发布的参考书:点击打开链接 可以参考一下。
一般软件或新东西发布,代表这个产品已经成熟,并被投入了市场。所以,肯定是会有相关文档和官方网站一起被发布;如果想第一时间学习,可以去找找这些资料。