品牌型号:惠普 240 G3
系统:Windows 10 专业版
软件版本:Source Insight 4.0
用Source Insight看代码的时候,可能会遇到过两种情况:一是想跳转到定义时,它突然“失灵”了;二是默认界面没有行号,找起代码来有点费劲。这两个问题其实都不难解决,本文就聊一聊“Source Insight为什么不能跳转,Source Insight怎么显示行号”。
一、Source Insight为什么不能跳转?
Source Insight的代码跳转功能是强项,按下Ctrl键再单击函数,是可以自动跳转到定义函数的位置。要是点下去没反应,通常逃不出下面几个原因,可以一个个来排查。
1、可能忘了“同步”项目,这是最常见的原因。
Source Insight得自己建个符号数据库,才能实现代码跳转。每次新建项目或者改完代码,要是不主动告诉它,它不知道文件变了。处理起来挺简单的:点开软件最上面菜单的"Project",找到"Synchronize Files"点一下。在弹出来的对话框里,把“Force all files to be re-parsed”勾上,然后点“Start”。

2、可能没把文件加到项目里。
因为Source Insight只认项目里加进去的那些文件,要是哪个源文件没在项目列表里,它自然找不到定义。检查的方法也不难,点开最上面菜单栏的"Project",然后选"Add and Remove Project Files"就行。把文件加进去之后,别忘了再去做一下第一步的“同步”。

3、如果前两种情况都没有解决,那可能需要考虑下是不是被“宏定义”干扰到了。
有些项目里用到得宏定义太复杂了,可能会让Source Insight的解析器混乱,真正的函数或变量认不出来了。就拿下面这个例子来说,按下Ctrl再点击My_Test_Function函数,结果跳转到了example.h宏定义的位置,而不是example.c文件里函数实际定义的位置。

这时候,可以尝试把这些宏的声明,加到软件的语法配置文件里。那个文件叫C.tom,它通常就在Source Insight的安装目录下面放着,比如“C:\Users\Administrator\Documents\Source Insight 4.0”,这样一来,Source Insight就能明白这些是宏定义了。

把C.tom文件保存好,接下来得重启一下Source Insight。等软件重新打开后,需要再给项目来重建下。点开菜单栏里的"Project",找到"Rebuild Project"的选项点下去就行。这么一操作,Source Insight会按照刚改好的配置,把项目里所有的文件都重新过一遍,符号数据库也就跟着更新了。

我们来看下效果,再次按下Ctrl,同时点击My_Test_Function函数,这回它就跳转到example.c文件里那个函数的定义位置了。

4、最后,还有一种情况是,要找的定义在“外部”。
如果你想跳转的是标准库函数,或者其它第三方库里的东西,而我们的项目里并没有包含那些库的源代码,那肯定会跳转失败。想解决的话,就得把对应的源码文件也加入到项目中才行。
二、Source Insight怎么显示行号?
代码格要是没标行号,找起来确实挺费劲的。好在Source Insight里显示行号这个功能不难找,这里有两个办法能把它打开。
1、如果需要处理不同类型的文件,用这个办法就挺合适的。它的操作步骤一点都不复杂,跟着做就行:
打开菜单栏里的"Options",接着选"File Type Options"。设置窗口弹出来后,先在左边选中你想显示行号的文件类型,比如说“C/C++ Source File”。然后在右边的“Editing Options”标签页下面,找到“Show line numbers”这个选项,给它打上勾。这样,就只有你选中的那种文件会显示行号了,更有针对性。

2、如果想给文件都标上行号,有个更快的法子。直接点击顶部菜单的"View",点开下拉列表,找到"Line Numbers"这一项,打上勾就可以了。这个操作是全局生效的,勾选就显示,取消就隐藏,来回切换特别方便。

以上就是关于Source Insight为什么不能跳转,Source Insight怎么显示行号的全部内容了。如果遇到跳转失灵的情况,可以先看看项目同步是不是正常,或者检查一下文件有没有正确添加到工程里。至于显示行号,在选项或者视图菜单里找到对应设置勾上就行。把这些小技巧用起来,你会发现这个工具用起来顺手多了。希望这些经验能帮到你,让写代码的过程更顺畅一些。
