3

我正在使用Windows 7 64位...

我已经通过 MSI 安装程序安装了 nodejs 0.6.11,安装路径是“C:\Program Files (x86)\nodejs”,它是由安装程序自动添加到我的 %PATH% 的,我通过以下步骤安装了 doctorjs:

  1. 我在“C:\Program Files (x86)\nodejs\doctorjs”下复制了 doctorjs 文件
  2. 我创建了 jsctags.cmd,其中填充了从https://gist.github.com/1438882复制的内容
  3. 我在 _vimrc 中添加了以下几行:

让 g:tagbar_type_javascript = { \ 'ctagsbin' : 'C:\Program Files (x86)\nodejs\jsctags.cmd' \ }

问题是,当我运行 jsctags.cmd "{My js folder}" 时,它会生成仅包含以下内容的标签文件:

!_TAG_FILE_FORMAT 2 /扩展格式/ !_TAG_FILE_SORTED 0 /0=未排序,1=排序,2=折叠/ !_TAG_PROGRAM_AUTHOR Patrick Walton /pwalton@mozilla.com/ !_TAG_PROGRAM_NAME jsctags // !_TAG_PROGRAM_URL http://github.com/pcwalton /jsctags /GitHub 存储库/ !_TAG_PROGRAM_VERSION 0.1 //

当我在 vim 中运行 :tagbaropen 时,它没有显示当前 js 文件。

请大神指点我哪里做错了,谢谢!

4

2 回答 2

2

您的问题可能与您为医生克隆的 narcissus 的提交有关。进入医生js文件夹中的水仙文件夹并运行

git checkout 4ae5aff8b3

这应该将头切换到文件的正确版本。

于 2012-07-11T18:03:52.000 回答
2

由于您得到了一些输出,看起来您已经正确实现了要点。但也许您对如何在命令行中使用它的期望与它实际工作的方式不同?

仅供参考:jsctags.cmd "{my js folder}"在我的机器上也返回一个空的标签文件。我认为命令界面还不是很成熟......所以看起来创建整个文件夹的标记文件是不可能的 - 但是......

试试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将让您看到命令从标签栏调用时的样子。

顺便说一句:你使用的要点是我的......我想知道我是否没有很好地测试这个批处理文件,其中包含空格的文件夹。在有和没有空格的两个文件夹中进行一些测试,看看是否有区别。如果您更深入地了解它在哪里起作用/不起作用,请告诉我,我可以进一步调查。

于 2012-03-01T19:07:51.917 回答