品牌型号:Lenovo E550C ThinkPad
系统:Windows 11
软件版本:Source Insight 4
我们在维护一个项目时,如果代码里到处都是宏定义,甚至有些宏展开后嵌套好几层,阅读起来就像在解谜,并且每次在外部编辑器修改完代码后,Source Insight没有同步更新到代码,这时候该如何解决这种现象呢?Source Insight虽然强大,但如果不会正确使用它的宏查看和代码刷新功能,效率反而会大打折扣。今天,我们就来聊聊Source Insight查看所有宏函数,Source Insight怎么刷新加入的代码。
一、Source Insight查看所有宏函数
什么是宏?宏是编程中一种预定义的文本,它的作用在于简化重复代码,实现动态代码生成,它会在编译前替换代码为指定的文本,不涉及到运行时调用,以此提高代码效率,但它的缺点也很明显:过多使用宏会导致代码调试困难,以及代码可读性下降,不过利用Source Insight可以有效弥补这一缺点。
1、Source Insight的符号数据库可以快速查看项目中所有宏函数,包括嵌套的宏函数。首先点击“View”菜单选择“Symbol Window”或者敲击快捷键“ALT+F8”打开界面左侧的符号窗口。

2、在符号窗口中,右键点击“Sort Symbols By Type”按照符号类型进行排序,此时查看左侧的符号图标,为“M”的即为宏函数。

3、如果符号窗口中没有显示出宏函数,则点击符号窗口的设置齿轮图标,点击“Symbol Types”按钮,打开符号类型过滤器,勾选上“Macro”选项,即可正常显示。

二、Source Insight怎么刷新加入的代码
如果我们在外部修改了代码文件,如通过Git或SVN拉取了团队其他人的代码,但回到Source Insight后会发现编辑器的内容还是旧的。这是因为Source Insight不会自动监测外部文件变化,需要我们手动刷新文件并生成新的符号,一个简单的办法是关闭当前文件再重新打开,但这样显然并不是完美选项,其实我们可以一键刷新。
1、我们可以在Options菜单的Preferences选项中,切换到Files选项卡,勾选上“Reload externally modified files automatically”功能,这样当我们在外部修改代码后,回到Source Insight时就会自动提示是否重新加载文件。

2、当然自动加载已有的文件修改内容还不够,我们需要对新加入的代码文件进行手动添加。点击“Project”菜单的“Add and Remove Project Files”选项,手动选择新加入的代码,点击“Add”按钮添加到Source Insight项目中。

3、对于修改了的文件,有时候同步了文件内容,但是符号信息数据库并没有同步更新,此时可以点击“Project”菜单的“Synchronize Files”或快捷键“ALT+Shift+S”快速同步项目中已加载的文件,更新符号数据库。

Source Insight本质上是通过建立代码符号数据库来实现快速导航的,如导航宏函数等内容,所以我们不仅要同步外部的文件,还要同步文件中的各项符号,保持符号数据库的准确性,因此最好在同步文件时选择自动加手动的形式来同步。熟悉Source Insight查看所有宏函数,Source Insight怎么刷新加入的代码等操作后,Source Insight就会成为我们阅读和理解代码的得力助手,大大提高工作效率。
