0

对优秀的 javascript ctags 支持的期待让我一直在思考是否可以使用像http://zombie.labnotes.org/这样的项目来设置 ctags 以让 vim 用户满意。

4

1 回答 1

1

嗯,您引用的项目都不是解析器或与 ctags 有任何关系。

  • PhantomJS让您像运行基于 webkit 的浏览器一样运行脚本。它不会输出对您的代码的分析,它只会执行它。您可以使用它对函数执行 atoSource()或 a isPrototypeOf(),但这毫无意义。
  • JSDOM是要在脚本中使用的 DOM 的实现。它不能作为外部工具运行,因此不能用于生成tags或分析您的代码。
  • Zombie.js是一个为您模拟浏览器的测试框架。与 JSDOM 一样,它不能作为外部工具运行,也无法分析您的代码。

您可以将当前脚本提供给 phantomjs:!phantomjs %或在脚本中使用僵尸或 jsdom,但这些都不能帮助您更好地了解代码结构或跳转到方法的定义。

但是,如果您在项目中使用了zombie 或 jsdom 或任何其他库,您可以生成它们各自的tags文件并将它们添加到您的 .vimrc 中,如下所示:

autocmd FileType javascript     set tags+=path/to/a/library/tags
autocmd FileType javascript     set tags+=path/to/another/library/tags

如果您想要的是更好/更现代的tags一代,您可以尝试 DoctorJS 的jsctags或查看此线程以获取更骇人听闻的方式来使 ctags 为您工作。据我所知,这些是你现在唯一的选择。

于 2011-05-13T08:50:37.950 回答