Source Insight是一款功能強大的C/C++/Java編輯器,專業的源代碼分析功能,可以爲您在編寫代碼的時候提供更多幫助,也是編程人員必不可少的一款輔助工具。小編還帶來了詳細的使用教程,希望對大家有所幫助。

Source Insight使用教程
Project的建立和工作區域
在菜单中选择Project->New Project…可以建立新的工程,自定义工程名,选择保存路径,然后新建。
新建确定之后,在接下来的菜单中,需要选择Project Source Directory: the main location of your source files. 比如我可以选最新的Android API 19的源码目录。
选定之后会出现Add and Remove Project Files的对话框,这时候可以选择刚才目录中的文件,然后添加进来。
Load完成之後close對話框就可以了。可以加不同路徑的代碼進來。
完成之后,Project Window就出现在右边了,点击其中任意一个文件,内容就显示在中央编辑区域了。左边是Symbol Window,可以快速定位函数、变量定义等。下面是Context Window,显示有用的上下文相关信息。可以通过View菜单调出或者关闭各种窗口。比如Relative Window可以显示出方法中调用的方法。
同步
在編輯區域中,鍵盤按下Ctrl,用鼠標單擊變量或方法時,會跳到變量或方法的定義。
如果某個變量或者方法是黑色字體表示的,說明它還沒有被定義。
当然有时候也不是因为没定义,需要同步一下,Project->Synchronizing Files。
查看定義
可以选中一个变量,然后右键,Jump to Definition,跳转到定义。
當然,上面提過,也可以直接Ctrl+鼠標點擊。
在编辑区域内选中变量或者方法,过一两秒,Context Window会自动显示定义。
查找引用
选择一个变量或方法后右键Lookup References…就可以进行查找。
查找結果顯示在一個框裏,點擊每條查找結果前面的紅色標記(兩個紅色的相背的三角形),可以該條結果對應代碼文件,進入代碼編輯狀態;再點擊代碼中的查找對應行開頭的紅色標記可以轉回查找結果頁面。
工具欄上有相應的圖標進行上一條和下一條的跳轉。
Lookup References弹出的对话框里可以进行查询的选项配置。比如是否大小写敏感,是不查找注释还是只在注释里查找。
另外Search Method也可以选是字符串、正则、关键字、还是引用类型。
查找調用
这个是针对方法的,选中方法名,然后右键Jump to Caller,如果只有一次调用,则直接跳转,如果多次调用,则显示一个列表框,选择一项就会跳转过去。
文件中的查找可以通過菜單Search。
source insight配置教程
si的主要配置都在Options->Perferences菜單裏,
1、General
Project File Synchronization->Remove missing file from project选上可以避免因文件找不到而弹出错误对话框。
把Misc->Use stricter confirmation dialog选项去掉可以使确认时不输入"yes"。
2、Typing
Source Editing->Indent commands affect #-preprocessor statements。去掉后(默认值),进行多行缩进时不会影响预处理语句(如#if...#endif)。
Auto Completion->Use detailed completion window,选上后,联想时可以出现该函数的详细信息。见下图:
Auto Completion->Insert paremeters for functions,去掉后,自动联想不会把整个参数都输出到当前行。
Browsing in Lists->Match syllables while typing(slower)。在symbol list框检索符号时是否采用音节匹配方式,如对于函数FindNext,输入find或者next都可以找到该函数。该功能可能导致反应缓慢(视工程和机器配置而定),建议关闭,因为即使在关闭状态下也可以通过先输入空格再输入单词来动态启用该功能。
注意Browsing in Lists里其实有两个功能,但一般我们只能看到Match syllables while typing这一條,应该是si的菜单设计没有做好,导致在中文windows下不能显示全,另一个功能是Match members while typing,用于打开/关闭按成员变量名来检索类/结构体的功能。
3、Files
Opening Files->Sharing: Let other programs modify files,以共享方式打开文件,这个很重要,保证可以在其它编辑中同时编辑该文件。典型的场景就是用ide环境去动态编译调试,而用si静态阅读。
Customize 'Open' Command...,用于设置Ctrl+O打开的页面,默认选项是 Project File list view in Project Window,建议保持默认。
Saving Files->Preserve Undo data and revision marks after saving,如果发现保存后就不能undo了,请检查该选项是否选中。
Remove extra white space when saving。保存时自动去除每行尾部的空格和tab。建议选中。
4、Languages
自定義其它編程語言的語法解析,這個...還是另寫一篇來講吧。
Conditional Parsing不要错过了,这里的Conditions功能实在让人喜欢。Conditions是什么意思呢?我们的代码中一般都会有一些开关宏,通过在Conditions中配置这些宏的默认值,可以让si把配置为不开启的宏视为无效代码,从而不进行符号检索。
如果源代码中的开关宏太多,还可以使用Condition Parsing中的Scan Files来自动找出所有开关宏。
5、Symbol Lookups
沒太多特別的。
6、Display
显示配置和个人喜好和显示器的状态有关,偶用的x60小本,屏幕资源有限,所以在Display Elements里把Project Window, Status Bar, Tool Bar,Clip Window都关了,基本用快捷键可以代替它们。
Options->Horizontal scroll bars for each new window。很多大师都教导我们说一行不要写太多代码。在这个指导思想下,我们不需要这个东东。
Show exact case of file names。如果看不惯si把所有的文件名首字母都大写就勾上这个选项吧。
Tile source and destination windows for Source Link commands。Source Link很多时候用于外部命令输出结果的解析(如Make, lint),这个功能会把解析结果与目标窗口自动tile,很实用。
Trim long path names with ellipses。这个建议不要选中。事实上这个主要影响标题栏,但一般来说标题栏上的空间是充裕的,选上之后往往会令我们不知道所编辑文件的具体位置。
7、Color
這個不用多說了。自己怎麽喜歡怎麽配吧。
8、Syntax Formatting
如果讓大家說出喜歡si的幾個理由,我想語法著色一定會是其中之一。
Basics->Use only color formatting。只启用style中关于颜色的设置。其它如粗体、斜体、阴影等都不启用。
Apply Styles for Lanugage Elements。把分类启用style,都选上吧。
Symbol Reference Lookups->Qualify references to members。检测成员的有效性,如果不是类/结构体中的一部分,则不启用style。虽然可能导致性能降低,但还是建议打开。同样Qualify references to functions也是。
这里有个按钮可以进入Doc Types页面(Options菜单也可以进入),里面有很多重要选项:
Editing Options中,
Expand tabs, Visible tabs可以帮助我们发现并转换tab。
Show right margint和Margin width可以提醒我们是否把一行写得太长。
Symbol Window选项建议关闭(因为有快捷键)。
Auto Indent对话框中,
如果没有特别喜好,建议把Smart Indent Options的两个勾都去掉。同时Auto Indent Type选Smart。
9、Syntax Decorations
可以把一些符号转换成特殊形式显示,如->转换成→。如果要使用该功能,不能开启Syntax Formatting->Basics->Use only color formatting。
Auto annotations下的三个功能都比较有用,
Show arrows at goto statements可以在goto时显示一个向上或向下的箭头,表示是向上goto还是向下goto。不过我们还是尽量不要用goto了。
Annotate closing braces with end-statement。在"}"后显示标识,表示该"}"与哪个if/switch配对。而下面的Annotate closing braces only for long blocks则是一个补充选项,表示只在较长的语句块时才显示标识。
10、Searching
没什么特别的,注意Automatically load selection into Find pattern。
11、Remote
與遠程登錄相關的一些選項。可以提高遠程使用的顯示性能。
12、Folders
沒什麽特別的。
最后简单说下si的配置文件。可以通过Options->Load Configuration/Save Configuration来导入/导出配置,可以导出全部,也可以导出某几个部分(如style)。si的配置有两级,一是全局配置,一是项目配置。出入方便考虑,统一一个配置就好了,在创建项目时选择用全局配置(默认值)。
導入配置也可以通過雙擊配置文件來完成。
Source Insight常用快捷键
1.Ctrl + 鼠标单击 进入定义.
2.Alt + F12可以切换,让字符宽度变得一致,或者是大小不同地显示。
3.Shift + F8 标亮文本中光标所在的单词。
4.Ctrl + G (或者F5) 跳转到某一行。
5.Ctrl + O 搜索文件,找到回车打开,找不到ESC退出
6.Alt + G (或者F7) 打开Symbol Window.
7.Alt +, 后退;Alt+.前进.
8.Ctrl + F 查找关键字。