如何让vim ctags适用于现代javascript

gui*_* 桂林 35 javascript vim ctags

我正在使用vim和ctags来获取标记列表.但对于javascript,它不适用于此约定

MyClass.extend({
  xxx: function(){
  },
   ...
})

MyClass.prototype = {
    method : function(){ }

}

MyClass.prototype.method  = function () {
}
Run Code Online (Sandbox Code Playgroud)

Ory*_*and 18

就像其他人说过的那样:DoctorJS(以前称为jsctags)是最好的选择.

但是,通过编写自定义包装器或使用当前不工作的Vim-taglist-plus插件将其与Vim集成,并不是一个好的解决方案.

我发现最简单的方法是安装TagBar Vim插件(注意:它是TagBar,而不是旧的臭名昭着的TagList!).

见我的回答其他更多信息.

编辑:

有一个名为tern.js的新项目应该取代死亡的医生.js.有关详细信息,请参阅上面的链接.

  • 太糟糕了,不再维护DoctorJS项目(至少[这里](https://github.com/mozilla/doctorjs)).它不能自行运行,而且不仅...... (3认同)

tun*_*ngd 12

正如@Benoit回答的那样,您始终可以为ctags设置新语言; 但是在JavaScript的情况下,你可能想尝试DoctorJS(以前的jsctags).从作者那里,它是一个有限的JS环境,它记录了脚本生成的所有函数和对象,并将它们转换为vim兼容的标记文件.这是原始帖子http://pcwalton.blogspot.com/2010/05/introducing-jsctags.html及其网站:http://doctorjs.org/.

要将它与ctags一起使用,我必须将ctags文件重命名为smt,ex-ctags并编写一个名为ctags的包装脚本,它将依赖于切换工具--language.


Ben*_*oit 5

您可以为ctags设置新语言.看到这个那个