使用 SourceInsight 閱讀、編輯原始碼
一、簡介
Source Insight 是 Source Dynamics 的原始碼編輯器。Source Insight 提供語法突出顯
示,程式碼導航和可自定義的鍵盤快捷鍵。它不僅僅是一個編輯器,而是一個理解大型原始碼
庫的工具,因此被稱為“程式編輯器和分析器”。它靈活輕便,提供有用的功能,如關係,上
下文和符號視窗。它還可以顯示引用樹,類繼承圖和呼叫樹,因為它在自解析源時構建了符
號資訊的內部資料庫。它的最大好處是加快了對不熟悉專案的程式碼理解。
官網主頁 https://www.sourceinsight.com/ 軟體下載頁面
https://www.sourceinsight.com/trial/ 使用者使用教程
https://www.sourceinsight.com/doc/v4/userguide/index.htm
二、 安裝並新建專案
這裡我們以新建一個 linux kernel 的 sourceInsight 為例,對 sourceInsight 使用進行說
明。
- 在桌面上找到 sourceInsight 雙擊執行,點選 Project->New Project,如下圖所示
- 在彈出的 New Project 對話方塊中設定 New project name(專案的名稱)讓後設定
Where do you want to store the project data file? (專案檔案儲存位置),點選 Browse…選
擇所在儲存位置,設定好以後點選 OK 如下圖所示:
- 指定原始檔所在目錄:
原始檔的目錄就是核心原始碼所在目錄,點選紅框左邊 … 選擇原始碼目錄,點選 OK:
- 新增原始檔
點選 Add 或 Add All; 其中 Add 是手動選擇需要新增的檔案,而 Add All 是新增所有文
件。
一般我們選擇 Add All,在彈出的提示框中選中 Recursively add lower sub-directories(遞
歸新增下級的子目錄)點選 OK。同樣的 Remove File,Remove All 是移除單個檔案或者移除所
有檔案。
如下圖所示:
- 新增檔案完成後點選 Close,此時介面會返回到主介面
- 接下來我們需要點選 Synchronize File(同步檔案)
- 強制解析所有檔案:
在彈出的 Synchronize File 對話方塊中 選中 Force all files to be re-parsed (),這一步會生
成所有程式碼之間的呼叫關係等,等待一段時間後會返回到主頁面,此時就可以閱讀程式碼了。
如下圖所示:
三、Stource Insight 操作示例
- 點選“P”圖示,可以在列表中輸入想開啟的檔案,雙擊開啟檔案:
- 滑鼠放在函式、變數上"ctrl+滑鼠點選" 跳到定義的位置。
- 雙擊函式, 鍵盤按住"ctrl +/"即可彈出視窗,這是查詢引用:
四、快捷鍵
相關文章
- 【原始碼閱讀】AndPermission原始碼閱讀原始碼
- Android原始碼閱讀-編譯8.0原始碼Android原始碼編譯
- 使用OpenGrok閱讀原始碼原始碼
- 使用vim閱讀原始碼原始碼
- GVUserDefaults原始碼閱讀及使用原始碼
- 【原始碼閱讀】Glide原始碼閱讀之with方法(一)原始碼IDE
- 【原始碼閱讀】Glide原始碼閱讀之into方法(三)原始碼IDE
- Spring 6 原始碼編譯和高效閱讀原始碼技巧分享Spring原始碼編譯
- ReactorKit原始碼閱讀React原始碼
- AQS原始碼閱讀AQS原始碼
- CountDownLatch原始碼閱讀CountDownLatch原始碼
- HashMap 原始碼閱讀HashMap原始碼
- delta原始碼閱讀原始碼
- 原始碼閱讀-HashMap原始碼HashMap
- NGINX原始碼閱讀Nginx原始碼
- Mux 原始碼閱讀UX原始碼
- HashMap原始碼閱讀HashMap原始碼
- fuzz原始碼閱讀原始碼
- RunLoop 原始碼閱讀OOP原始碼
- express 原始碼閱讀Express原始碼
- muduo原始碼閱讀原始碼
- stack原始碼閱讀原始碼
- 原始碼閱讀:Masonry(一)——從使用入手原始碼
- 原始碼閱讀:SDWebImage(一)——從使用入手原始碼Web
- 【原始碼閱讀】Glide原始碼閱讀之load方法(二)原始碼IDE
- PostgreSQL 原始碼解讀(3)- 如何閱讀原始碼SQL原始碼
- 搭建大型原始碼閱讀環境——使用 OpenGrok原始碼
- JDK原始碼閱讀:Object類閱讀筆記JDK原始碼Object筆記
- redis資料結構原始碼閱讀——字串編碼過程Redis資料結構原始碼字串編碼
- Laravel 原始碼閱讀 - QueueLaravel原始碼
- Vollery原始碼閱讀(—)原始碼
- 如何閱讀Java原始碼?Java原始碼
- buffer 原始碼包閱讀原始碼
- 原始碼閱讀技巧篇原始碼
- 如何閱讀框架原始碼框架原始碼
- 再談原始碼閱讀原始碼
- Laravel 原始碼閱讀 - EloquentLaravel原始碼
- 如何閱讀jdk原始碼?JDK原始碼