很多编程初学者都知道,要想知道一个变量或者函数的声明与定义,可以选中直接右击,弹出右键菜单,然后选择“Go to definition of ...” 或者 “Go to reference of...”。当然高手知道直接用快捷键F12 与 Shift + F12. 但是有时候这一招却不灵,比如弹出这样的提示“... is undefined”.
来说明一个原因。这个Browse与Find in Files不同。Find In Files直接找到所有的引用地方,而不进行分类,如是定义还是声明还是调用等。因此Browse需要专门的Browse Info文件(浏览信息文件)的支持。这是在编译时候生成的。对于一个工程中的每个程序文件,都可以生成一个sbr文件记录了这些信息。然后BSCMAKE工具会将所有的sbr合成为一个bsc文件。这里需要注意,sbr属于Intermediate File,而bsc属于output file。
为了确保是否工程生成bsc,需要在project settings里面切换到C/C++页,然后genereal选项,选择“Generate Browse Info”可以生成sbr,这样可以保证bsc的合成。另外在Browse Info页有“build browse info”项,是方便每次编译时会自动更新bsc文件。注意,生成sbr与bsc的过程会大大降低编译的速度。因此可以选择在生成bsc文件后不进行更新了,只用于浏览即可(只要不物理删除bsc文件)
当然上述的这种快速浏览变量和函数现在已经出现了替代的方法。例如安装了Visual Assist之后,让鼠标在选中变量或者函数名上停留几秒,就会弹出下拉箭头提示,然后单击可以弹出菜单,可以选择“Find references”来寻找相关。
还有一种笨方法就是直接去h或者cpp里面找了。可以利用visual Assist的定制快捷键,例如定制Alt + C来直接切换h和cpp。
比较快的方法是使用Alt + G,快速切换到声明与定义的地方。
评论