Source Navigator NG
source navigator NG 是一個程式碼分析工具。
有了它,你可以編輯 source code,用它顯示 classes 跟 functions 以及 members (instance variables 與 instance methods 等) 之間的關係,而且還可以顯示 call trees。
就像地圖導航工具帶給人們的方便一樣,你可以用 source navigator NG 導覽 source code,很輕鬆就能找到 functions, variables 和 macros 等 symbols 的宣告(declarations)與實作(implementations)的位置。
這種商品市面上也有,比較知名的應屬 source insight。source navigator NG 則是 GPL 自由軟體,固然如此,相較於 source insight,source nagivator NG 其實毫不遜色。
source nagivator NG 是 Source Navigator 的下一代,它改善了效能,也比較好用。
下載軟體
source nagivator NG 可在底下的網址取得,有 Linux 和 Windows 的版本可供選擇:
軟體不需要安裝,解開壓縮檔後,打開執行檔即可使用。執行檔路徑在:
SN-NGxx\bin\snavigator.exe
建立 Project
1. 執行 snaviator.exe,啟動畫面如下:
▲ 這個視窗會列出所有 Projects,目前還沒有 Project,所以是空的
2. 點 [New Project…] 建立要分析的程式專案:
其中:
- 「Project File」是專案檔名
- 「Add Directory」則是要分析的程式碼資料夾
按下 [OK] 後,source navigator NG 就會開始掃瞄程式並建立分析用的資料庫:
3. 掃瞄完成後,便可以開始導覽程式碼。主畫面如下:
Symbol Browser 的檢視方式有很多種,例如 Files, functions, macros, typedefs 等,上圖是 Files 檢視方式,其它檢視方式可在工具列或 View 選單中找到:
例如 File 或 function 或 macro 或 class,在任何你關注的 symbol 上點兩下 source navigator 便會開啟內建的編輯器讓你編輯程式碼,而且立即跳到 symbol 所在的位置:
你也可以設定外部編輯器(External Editor),方法是點選單 【View > Preferences】打開 Preferences 視窗,然後輸入外部編輯器執行檔的路徑。如下圖所示,我把 Notepad++ 設成 source navigator NG 的外部編輯器:
▲ 記得要用雙引號把 External Editor 執行檔路徑包起來
一些畫面截圖(Screenshots)
在主畫面(symbol browser)上使用萬用字元(wildcards)挑選並顯示檔案:
程式碼編輯視窗有語法高亮度顯示功能,而且還可以 (1) 選擇目前程式中的 symbol,以及 (2) 搜尋符號,如下圖所示:
xref 窗格顯示交叉參考的 functions,而且是多層次的(multi-level):
Grep 窗格中可以讓你用 regexp 來搜尋字串:
結語
source navigator NG 是一個程式碼分析工具,它可以幫助你導覽 source code,非常方便。除了 c 與 c++ 程式外,source navigator NG 也支援 java, python, tcl, vb, cobol, fortran 的程式。source navigator NG 是 GPL 自由軟體,可免費取得。
作者已經移除這則留言。
回覆刪除還不錯,來用用看有沒有比vim的plugin好用
回覆刪除有 Linux 版的。Tcl 在字串處理這方面的能力還蠻厲害的,source navigator NG 的字串搜尋應該就是用 Tcl 做的,而 GUI 則是用 Tk。
回覆刪除@GCY: vim 配合 ctags / cscope / global / taglist 應該不會輸 source navigator 太多
回覆刪除@letoh:我目前就是這樣的組合:)XD
回覆刪除