以前用win系統時使用sourceinsight閱讀源碼方便至極,但是自從換到mac下,嘗試了很多方法很多工具,比如understand、比如vscode、比如wine下安裝sourceinsight。總是有各種問題,所以這次嘗試使用SublimeText
平時使用Sublimetext都是打開單個文件,這次要導入幾萬個文件,這在一些ide中稱為project。同樣在Sublime中也是如此。
1. 創建工程
Project > Add Folder to Project 選擇源碼目錄即可
這時在?窗口左邊欄中將出現剛剛添加的文件目錄,如果還需要添加其他目錄,則重復這一操作即可。
2. 保存工程
Project > Save Project As
點擊保存后Sublime Text將自動生成兩個文件:
project_name.sumlime-project:包含工程定義,該文件會被記錄到版本控制里。
project_name.sublim-workspace:包含了用戶的工程數據,例如打開的文件和修改等,該文件不會被記錄到版本控制里。
在.sublime-project文件中,你可以定義工程配置。例如你可以定義多個目錄路徑,或者哪些目錄或文件需要排除在外。例如:
以上.sublime-project文件中定義了兩個目錄,而“name”標簽是該目錄在Sublime Text的?左邊欄中顯示的名字。通過定義“name”,你可以將一些長路徑或者名字很長的目錄以更簡潔的名稱顯示在?左邊欄中。
3、添加索引
- 安裝Package Control插件
1.打開控制臺
方法1:View->show console
方法2:ctrl+~
2.輸入代碼:
python2.x代碼:
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
python3.x代碼:
import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
-
安裝CTags
- 首先 Preference -> Browser Packages... 查看是否已經安裝了CTags Package,如果沒有則繼續下面步驟
- Preference -> Package control, 輸入“install package”,它會找出你可以安裝的插件,在列表中選擇ctag插件進行安裝
3.創建索引
4、異常處理
- 期間出現Package Control:There are no packages available for installation彈窗提示
選擇Preference->Browser Packages打開文件夾后
刪除Package Control目錄、刪除User目錄下相關Package Control名稱文件等,再次安裝。 - ctag rebuild時彈窗異常如圖:
這是因為我們還沒有安裝和配置ctags
下載ctags-5.8.tar.gz解壓并編譯,依次執行如下命令:
tar xzvf ctags-5.8.tar.gz
cd ctags-5.8
./configure
make
sudo make install
打開Preference ->Package settings->ctags->settings-user和settings-default
把default中的配置全部復制到user中,然后改一下command配置項,為ctags的可執行文件路徑/usr/local/bin/ctags(可以通過which ctags命令查看ctags路徑)
5、快捷鍵
- 修改跳轉
默認函數跳轉:Ctrl+shift+左鍵; 跳轉返回:Ctrl+shift+右鍵。修改方法:
Perference->Package Settings->CTags->Mouse Binding Default->復制到Mouse Binding User,把里面的"ctrl+shift",修改為“command”,這樣就可以用“command+左鍵”跳轉了:
Command+P:查找文件
Command+R:查找方法
Command+左鍵:文件或函數跳轉
Command+右鍵:返回文件或函數跳轉的原始位置
至此Android源碼項目創建完成并創建索引,代碼跳轉也反應迅速。