1

私は ctags を使用して JavaScript アプリをナビゲートし、関数がインデックスに追加されてうまく機能することを発見しましたが、一見基本的なハッシュ/オブジェクトがある場合、以下のコマンドを使用してインデックスを作成すると、インデックス/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 定義ファイルを使用していない可能性があると思います。

Github の Gistに投稿した Tim-Smart の定義を使用して、例を示してみました。

ホーム ディレクトリ (/~) の .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 に答える