如何使用ctags索引简单的javascript哈希/对象?

时间:2014-06-27 13:54:14

标签: javascript exuberant-ctags

我使用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";
  }
};

2 个答案:

答案 0 :(得分:1)

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

我只是尝试使用Tim-Smart的定义,并将其贴在Github in a Gist上。

您只需将其包含在主目录(/〜)的.ctag定义文件中,然后运行:

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

这样你就可以生成一个可以被编辑器或IDE使用的标签文件。

我希望这会有所帮助。我只是尝试使用Sublime Text 2和Ctags插件,我能够毫无困难地导航到objects属性。

答案 1 :(得分: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