问题:在用source insight时,点击函数下面窗口会自动出现函数的定义之处,这得益于该软件的同步功能,但是对于一些符号常量或者头文件却需要我们手动去查找,不能点击一下然后下面窗口自动出现文件内容,这就非常麻烦了。
解决方法:Options->Preferences->Symbol Lookups,点击creat common project ,然后勾选第一个c或c++,点击后面的browse按钮,选择你常用的目录比如我常用查看的头文件是linux 2.6.24/arch/x86/include/asm/unistd_64.h,那我browse下的目录就选择linux 2.6.24/arch/x86/include/(因为linux源码经常是#include <asm/unistd_64.h>这样写的,源码已经包含asm目录了,所以我们不需要再深入一层了),然后会提示创建一个新的工程,就直接下一步即可,然后到新工程的窗口后,选择add tree将文件加入到这个CStandard工程中,回到原始工程即可。记得在Symbol Lookups页面勾选上第三个沟,要是开心可以全部勾选,一般根据需要勾选即可。
注:如果某个头文件不在我刚刚演示的include目下,那就得再继续添加新的CStandard工程了,跟上面类似,只不过定位的目录不同罢了
PS: 下面内容引用自该博主:
1. 添加makefile:
打开Source Insight,在新建工程之前,进入
Options -> Document Options-> 点击Document Type的下拉框,然后选择Make File,在右边的File Filter中,在原先的*.mak后面加上一个分号,即多个不同过滤规则以分号间隔开,再加上*makefile,变成 *.mak;*makefile,并且选中Include when adding to projects,这样,以后再新建工程的时候(当前工程同步下makefile就有了),就可以识别makefile或Makefile了(好像此处Source Insight并不区分大小写)。
2. 如何添加kconfig:
由于kconfig是sourceinsight默认不支持的格式,所以我们现在先要加入一个类型。
点击 Add Type,填入新文件类型的名字kconfig,File Filter中写上*kconfig,最好再加上kconfig*(因为在linux中有些kconfig是以kconfig.*的形式出现),注意再选中下面的Include when adding to projects,这样就建立了一个新的文件类型, 以后新建工程加入文件时候,系统就能够识别kconfig的文件了。
3. .S的汇编文件
方法: 1、在创建工程前先特别设置好source insight 。设置如下: Options->Document Options->Doucment Types->选择x86 Assemble,再在右边File Filter里输入*.S。这样以后再new一个工程,在添加文件时,就可以把文件夹中的*.S添加进去了。 2、如果之前已经创建好工程的,而又想把*.S文件添加进来。如下: 打开创建好的工程,Options->Document Options->Doucment Types->选择x86 Assemble,再在右边File Filter里输入*.S。然后project-->add and remove project files,再重新把工程的所有文件夹添加一遍,这样就可以把*.S文件添加进来了(注:原来的*.c等文件不会被重复添加),然后重新rebuild就可以了。
还有,si默认的汇编文件后缀不支持.s的,所以要支持arm的汇编文件也需要改一下File filter.