2012-03-01 41 views
3

我使用Windows 7 64位...doctorjs(又名jsctags)不支持vim + tagbar

我已經安裝的NodeJS 0.6.11由MSI安裝程序安裝路徑爲「C:\ Program Files文件( C:\ Program Files文件(x86)的\的NodeJS \ doctorjs:86)\的NodeJS 「

  1. 我複製下doctorjs文件,它是由安裝程序自動添加到我的%PATH%,我通過下面的步驟安裝doctorjs」 「
  2. 我創建jsctags.cmd填充內容複製從https://gist.github.com/1438882
  3. 我添加了followi納克線在我_vimrc:

設G:tagbar_type_javascript = { \ 'ctagsbin': 'C:\程序文件(x86)\的NodeJS \ jsctags.cmd' \}

的問題是,當我運行jsctags.cmd 「{我的JS文件夾}」,產生的標籤具有低於僅內容文件:!

_TAG_FILE_FORMAT 2 /擴展格式/ _TAG_FILE_SORTED 0/0 =未分類的,1 =排序,2 = foldcase/ !_TAG_PROGRAM_AUTHOR帕特里克·沃爾頓/[email protected]/ !_TAG_PROGRAM_NAME jsctags //!_TAG_PROGRAM_URL http://github.com/pcwalton/jsctags/GitHub的庫/ _TAG_PROGRAM_VERSION 0.1 //

當我跑!tagbaropen在VIM,它表明沒有爲當前的js文件..

敬請指導我哪裏做錯了,謝謝您!

回答

2

既然你得到了一些輸出,它看起來像你有正確實施的要點。但是,對於如何在命令行中使用它的期望可能不同於它的實際工作方式?

FYI:jsctags.cmd "{my js folder}"返回我的機器上的空白標籤文件了。我不認爲命令接口是很成熟......所以它看起來像創建一個整個文件夾的TAGFILE是不可能的 - 但...

嘗試jsctags.cmd "{file}"。這應該創建一個填充的tag文件。

還要注意的是tagbar調用jsctags這樣的:jsctags -f - {file}。這將流輸出到標準輸出。所以如果你正在調試,試試這種形式的命令。

作爲另一個調試提示,修改您的批處理文件以輸出調試信息。即: 添加行這樣的:

echo "%~dp0"\"node.exe" "D:\opt\node\doctorjs\bin\jsctags.js" %* > d:\debug.txt 

展望d:\debug.txt將讓你看到什麼命令樣子,因爲它是從tagbar調用。

BTW:您正在使用的要點是我的...我想知道如果我沒有測試此批處理文件不夠好與有空格的文件夾中。在有或沒有空格的文件夾中做一些測試,看看是否有區別。如果您能夠更深入地瞭解其工作/不使用情況,請告訴我,我可以進一步調查。

+0

謝謝! darcyparker,我居然也跟着官方的用法:「只要到你的項目的根並調用jsctags LIB(與在你的JavaScript源文件的存儲目錄替換LIB)的標籤文件將放置在當前目錄下。」 - 從https://github.com/mozilla/doctorjs看來,官方用法似乎不起作用。 – 2012-03-02 02:32:03

+0

現在我正在努力陷入另一個錯誤: TypeError:無法在新節點(E:\ Root \ nodejs \ doctorjs \ narcissus \ lib \ parser.js:241:18)處讀取未定義的 的屬性'token' idNode(E:\根\的NodeJS \ doctorjs \ lib中\ CFA2 \ jscfa.js:211:11) 在fixFun(E:\根\的NodeJS \ doctorjs \ lib中\ CFA2 \ jscfa.js:333:13) 在fixExp(E:\ ROOT \的NodeJS \ doctorjs \ LIB \ CFA2 \ jscfa.js:296:5) 在E:\ ROOT \的NodeJS \ doctorjs \ LIB \ CFA2 \ jscfa.js:311:18 ... – 2012-03-02 02:33:44

2

您的問題可能與提交你的克隆水仙doctorjs的。走進在doctorjs文件夾中的水仙夾,然後運行

git checkout 4ae5aff8b3 

這應該在頭切換到文件的正確版本。