下載
-----------------------------------
下載cscope15.6-win32.zip
安裝
-----------------------------------
安裝很簡單,只要將cscope的可執行檔放到PATH環境變數包含的目錄中即可。
(1) 推薦Windows使用者將上面下載到的cscope.exe與gvim.exe放在同一個目錄下,如D:/Program Files/Vim/vim72下。
(2) "我的電腦" --> "屬性" --> "進階" --> "環境變數" --> "系統變數"
PATH: D:/Program Files/Vim/vim72 (給環境變數PATH添加cscope.exe所在目錄)
登出/重啟後PATH即可生效。
(3) "開始" --> "運行" --> "cmd"
C:/Documents and Settings/Administrator>cscope -V
cscope: version 15.6. Compiled by MSLK(mslk.sa@gmail.com)
如果能看到cscope的版本好則說明安裝成功。
(4) 為了方便地使用cscope,我們還需要下載cscope的鍵盤對應設定,這樣就可以在gvim中簡單地通過快速鍵來使用cscope,而不必敲複雜的命令了。鍵盤對應可以從這裡下載:http://cscope.sourceforge.net/cscope_maps.vim。
將下載到的cscope_maps.vim放在gvim的外掛程式目錄裡,如D:/Program Files/Vim/vimfiles/plugin中。Linux使用者可以放在$HOME/.vim/plugin中。
建立符號資料庫
-----------------------------------
(1) 我們假設我們要閱讀的代碼放在D:/src/myproject下。然後開啟命令列,進入原始碼所在的目錄,為cscope建立搜尋檔案清單。在命令列中執行以下命令:
D:/soft/vxwork_src>dir /s /b *.c *.h > cscope.files
D:/soft/vxwork_src>cscope -b
執行結束後你可以在目前的目錄下發現cscope.out檔案,這就是cscope建立的符號資料庫。上面這個命令中,-b參數使得cscope不啟動內建的使用者介面,而僅僅建立符號資料庫。
(2) 編輯D:/Program Files/Vim/_vimrc,添加如下內容。
cs a D:/soft/vxwork_src/cscope.out
如果你的原始碼是C++,則可以將cpp等副檔名也加入到上面的命令中。
dir /s /b *.c *.h *cpp *.hpp > cscope.files
如果是Linux使用者,則可以使用find命令實現同樣的功能:
find $(pwd) -name "*.[ch]"
windows環境下使用ctags及cscope
在windows環境下將vim打造成C&C++ IDE之具體步驟
- 安裝vim最新版 http://vim.sf.net
,假設安裝在c:/vim
- 下載exuberant ctags http://ctags.sourceforge.net
,將其解壓到c:/vim
- cscope安裝
- 下載cscope http://cscope.sf.net
- cscope沒有提供針對win32的binary,需要自己手工編譯,具體步驟在google中以mingw cscope為搜尋索引鍵進行尋找,然後照葫蘆畫瓢
- 當然如果怕麻煩的話,就下載其它人已經編譯好的win32版本,不保證一定能找到
- 將編譯好的cscope放置到c:/vim
- 針對具體項目產生相應的tags及cscope.out,命令如下
- ctags –R dirname
- cscope –bkR –s dirname 在vista環境下,可能會出錯,添加環境變數TMPDIR,如set TMPDIR=c:/temp,一勞永逸的話,將其加入到系統變數中
- 為vim安裝taglist,詳見 http://vim-taglist.sourceforge.net/
- 修改$VIM/_vimrc,加入如下內容
let Tlist_Ctags_Cmd='c:/Vim/ctags.exe'
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1
let Tlist_Auto_Open=1
let Tlist_Auto_Update=1
let g:winManagerWindowLayout='TagList|BufExplorer'
let g:miniBufExplMapCTabSwitchBufs=1
nnoremap <silent> <F8> :TlistToggle<CR>
- 啟動vim,載入tags和cscope.out
- set tags=PATH/tags
- cs add PATH/cscope.out
設定tags檔案ctags -R --c++-kinds=+px --fields=+ialS --extra=+q