1

我使用 ctags 导航我的 javascript 应用程序,发现函数已添加到索引中并且效果很好,但是当我有一个看似基本的哈希/对象时,当我使用下面的命令进行索引时,它并没有添加到 index/ctags 文件中。有什么我可以添加到这个命令或者我应该知道 ctags 来改变这个行为的吗?

ctags -a -Rf .ctags --languages=javascript,typescript --exclude=.git --exclude="*.min.js" --exclude=node_modules

这是有问题的javascript对象

var MyAsyncComponent = {
  hello: null,
  render: function() {
    return "abc123";
  }
};
4

2 回答 2

1

我认为这可能是因为您没有使用正确的 JavaScript ctags 定义文件。

我只是在尝试使用 Tim-Smart 的定义作为示例,他在Github 上的 Gist 中发布了该定义。

您所要做的就是将其包含在主目录 (/~) 中的 .ctag 定义文件中,然后运行:

ctags --languages=js <name of js file(s)>

这样,您将生成一个可供编辑器或 IDE 使用的标签文件。

我希望这有帮助。我刚刚使用 Sublime Text 2 和 Ctags 插件进行了尝试,我能够毫无问题地导航到 objects 属性。

于 2014-08-21T22:35:17.760 回答
0

Universa-ctags ( https://ctags.io ) 可以捕获哈希/对象。

[jet@localhost]~/var/ctags% cat > foo.js
var MyAsyncComponent = {
  hello: null,
  render: function() {
    return "abc123";
  }
};
[jet@localhost]~/var/ctags% ./ctags -o - foo.js
MyAsyncComponent    foo.js  /^var MyAsyncComponent = {$/;"  c
hello   foo.js  /^  hello: null,$/;"    p   class:MyAsyncComponent
render  foo.js  /^  render: function() {$/;"    m   class:MyAsyncComponent
于 2017-04-27T16:28:15.250 回答