我一直在使用ctags與下面的vim腳本,並沒有問題做我自己的小項目。但是當我進入一些大型項目時,在用C++編寫的遊戲中,ctags和cscope的遞歸命令似乎比我想象的慢得多。我實際上已經設法在背景上運行它,但似乎我的筆記本電腦非常忙於做標籤。任何人都可以爲我推薦更好的ctags解決方案嗎?
我聽說有一個解決方案,在每個子目錄中製作一個標籤,當您在特定的子目錄中工作時,您可以查閱其他子目錄的根目錄中的標籤,目錄標籤。這可能嗎?如果任何人都可以用這種方法給我具體的HOW-TOS,我將非常感激。
或者如果有更好的解決方案,我非常想知道它。
這裏是我的Vim腳本
function! UpdateTags()
let curdir = getcwd()
let gitdir = finddir('.git', '.;/')
if isdirectory(gitdir)
let l:rootdir = fnamemodify(gitdir, ':h')
execute 'silent cd ' . l:rootdir
execute 'silent !ctags -R --c++-kinds=+p --fields=+iaS --extra=+q &'
if has("cscope")
execute 'silent !cscope -Rbkq &'
execute 'silent cs reset'
endif " has("cscope")
execute 'silent cd ' . curdir
endif
endfunction
一個可能的解決方案:[簡單的標籤與Git](http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html) –
你能告訴我們你的'標籤的價值是什麼'選項? – romainl
您提到的多個標記文件的方法在ctags主頁上進行了解釋:http://ctags.sourceforge.net/faq.html#15 - 但我不確定您是否會找到根標記的更新文件更快。 – mMontu