品牌型号:惠普 240 G3
系统:Windows 10 专业版
软件版本:Source Insight 4.0
程序员处理大型项目,经常需要理清文件之间的包含关系。重构代码的时候想修改变量名又怕出错。用Source Insight就能轻松地解决这两个问题。下面就来介绍下Source Insight如何查看文件包含树,Source Insight怎么替换变量。
一、Source Insight如何查看文件包含树
想了解项目结构,理清文件之间的包含关系是第一步。用Source Insight查看包含关系,有两种实用的方式,大家可以根据自己的情况选择。
1、第一种方式:用项目和关系窗口来查看文件包含树
在项目窗口里找到想看的头文件,选中它。这时候,关系窗口就会跟着更新,它会把所有用了这个头文件的源文件都列出来。这样一眼就能看出大概的依赖关系。
具体操作步骤:
开始之前,建议先同步一下项目(在Project菜单里,点一下Synchronize Files)。这一步在实际项目中很有必要,同步后查出来的结果才准,不容易出问题。

然后,调出关系窗口(打开View菜单,找到Panels,把Relation Window勾上),确保它能正常显示。

这些设置好之后,在项目窗口里找一个头文件(比如example.h),关系窗口就会自动画出关系图。看这张图很直观,一下就知道这个文件里都有哪些函数,还有哪些别的文件用到了它们。
下图就显示了关系图,从中能看出My_Test_Function这个函数是在example.h里声明的,然后被example.c和main.c两个文件调用了。由此就能明确,example.c和main.c这两个文件都包含了example.h。

2、使用全局搜索精确定位引用
如果想更精确,确认一个头文件被哪些源文件引用了,也可以用搜索功能。这个方法虽然画不出包含树,但很准确。
操作也不复杂,复制#include后面那一行内容,选择Search,点击的Lookup References,打开搜索框。然后,搜索范围选整个项目,用简单的字符串匹配方式就可以。选好后点击Search按钮。

搜完之后,结果会一条一条列出来,不用其它操作,看结果列表就能知道引用关系,一下就能确认example.h是被example.c和main.c这两个文件引用了。

3、此外,为了分析能够准确,有两个方面需要注意:
一个是,记得检查项目的头文件包含路径。这个一定要正确,特别是用了绝对路径的项目,万一换了文件夹,可能就找不到了。
另一个需要注意的是,记得定期同步项目。如果代码改得多了,记得及时点击Synchronize Files(Project菜单下)更新一下,避免符号信息滞后,保证符号信息是新的。
二、Source Insight怎么替换变量
我们改代码的时候,经常要给变量重命名,最怕的就是改漏或者改错。根据实际使用场景,Source Insight有两种替换方法,我们可以根据具体情况选择。
1、使用“Replace in Files”进行全局替换
这是一种基于文本的批量替换方法,适合多文件批量修改场景,速度比较快。
操作步骤如下:
点击菜单栏的Search,然后选择Replace in Files。在弹出来的窗口里,在Old框填原变量名,New框填新名字。选好要改的文件范围后,点Replace按钮就可以了。
建议勾上Case Sensitive和Whole Words Only选项,这是避免误改的关键,这样能精准匹配变量名,避免误改其它变量。

之后,每搜索到一个匹配的地方,软件会弹窗询问我们是否要替换。实际操作中,建议逐个确认一下,不容易出错。

2、用“Smart Rename”功能进行重命名
这个方法智能又安全,实际开发中更推荐使用。它是基于Source Insight自己的符号数据库来工作的,只会改标记为变量标识符的名字,能最大程度避免误改。
操作步骤如下:
在源代码中,将光标放在需重命名的变量上,选中该变量,右键单击鼠标,然后选择Smart Rename(也可以用快捷键Ctrl+')。操作很简单,弹框后输入新变量名,点Start就好。建议勾选上Confirm Each Replacement选项,软件会让逐个确认,更稳妥。

3、关于替换功能的一些注意事项
不管用哪种方法替换,最好开启逐项确认,避免把不该改的地方也给改了,不然再排查错误会很麻烦。
此外,大规模修改代码后,建议自己跑一遍编译测试,这是必做的校验步骤,确认一下没有因为替换变量出问题。
以上就是关于Source Insight如何查看文件包含树,Source Insight怎么替换变量的全部内容了。用Source Insight查看文件包含树,能帮我们更好地了解代码结构。学会使用变量替换功能,能更安全地进行代码重构。希望本文分享的这些方法,对大家有帮助。
