source insight的查找功能详解

http://blog.csdn.net/xiaoaid01/article/details/37876523

http://bbs.csdn.net/topics/330208990

sourceinsight是一款很好的代码阅读编辑工具,方便对project管理,方便程序的阅读和编辑。查找功能使用十分频繁,选项较多,与其它软件的查找功能也类似,下面对英文版的查找功能,做简单说明:

查找参数:
whole wordsonly                 全字匹配查找
casesensitive  :                  区分大小写
projectwide                         项目内查找
includesubdirectories          包含子目录查找
skip inactivecode               跳过无效代码查找
skipcomments                   跳过注释查找
search onlycomments       仅在注释在查找

 

3.2.1.1 Loopup References

我们最常用的一种查找方式是选择Search/Lookup References或按Ctrl+/组合键再或者鼠标点 R按钮,在弹出的Loopup References窗口进行查找操作。 在SearchMethod中有四种可选的查找方式:Simple String、Regular Expression、 KeywordExpression和Look Up Reference。其中SimpleString是最普通的查找方式,可以查找文件中出现的任意字符或字符,甚至可以查找 _upap || u这样的字符串,但是在工程较大时,查找过程会较慢。RegularExpression查找方式将在后面讲述正则表达时会介绍到,这里暂时按下不表。 Keyword Expression和Look UpReference查找的结果基本相同,但是显示方式略有差异。这两种方式都是使用SI预先建立的数据库,查找起来速度相当快。但通常这种速度只对在查找标识符时有明显效果。对于像函数名,变量名等的查找,强烈建议使用这两种方式进行查找。

3.2.1.2 SearchFiles

选择Search/Search Files或按Ctrl+Shift+F组合键,在弹出的Search Files窗口进行查找操作。在File Name框中可以填入文件名或文件夹。注意当要查询的文件夹双包含子文件夹时,可以勾选Options中的IncludeSubdirectiories,实现对各层文件的递归搜索。

3.2.1.3 SearchProject

选择Search/Search Project,在弹出的Search Project窗口进行查找操作。操作与LoopupReferences几乎完全一致,它们各自保存上次搜索的配置。

几个较常用的快捷键
默认情况下,SI已经定义了很多非常实用的快捷键: 
F5
指定行号,实现行跳转,在遇到编译错误的时候,能特别方便的找到出错行。 
Shift+F8
高亮显示指定标识,快速浏览标识的使用情况。 
Ctrl+鼠标点击标识
直接跳转至标识定义处。 
Ctrl+F
本文件内查找。 
F3
本文件查找结果的上一个。 
F4
本文件查找结果的下一个。 
F7
打开Browse Project Symbols窗口,快速浏览工程内标识定义。 
Ctrl+M
创建或查找书签,方便下次找回此位置。 


### 如何使用 Source Insight 进行代码查看和编辑 #### 安装与配置 安装 Source Insight 后,需创建一个新的项目来管理源代码文件。通过指定项目的根目录以及包含的子目录,Source Insight 可识别并索引这些路径下的所有支持类型的文件[^1]。 #### 打开现有项目或新建项目 对于已有项目,可通过菜单栏中的 `File` -> `Open Project` 来加载;而对于新项目,则选择 `New Project Wizard` 并按照向导提示完成设置。这一步骤确保了软件能够正确解析目标工程结构及其依赖关系。 #### 浏览与导航功能 利用 **Project Files** 面板浏览整个项目的层次结构,双击任意条目即可快速定位至相应位置。当用户在编辑器内选中某个符号(如变量名、方法名),按下 F12 键可实现对该符号定义处的即时跳转。此特性极大提高了跨多个文件间追踪逻辑流程的工作效率[^2]。 #### 关联分析工具 借助于内置的关系图谱(`Relation`)视图,开发者不仅能看到当前光标所指实体被何处引用的信息,还能进一步探索更深层次的调用链路。这对于理解复杂系统内部交互模式尤为有用。 ```cpp // 假设有一个名为 MyClass 的类,在不同模块中有若干实例化操作。 MyClass obj; // 当前文件内的声明 obj.doSomething(); // 调用了成员函数 doSomething() ``` 在这种情况下,右键单击 `doSomething()` 方法名称并通过上下文菜单选取 "Find References" 或者直接按 Shift+F3 ,就可以获取到该方法在整个解决方案范围内所有的调用情况列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值