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