0

ジャバスクリプト:

A = {
    x : funciton(){

    },
    y : function(){

    }
}

私が欲しいものは?

内部 xまたはy関数内で呼び出されたときに、関数名を取得して配置できる崇高なスニペットを書きたいと思います。

例 - DocBlockrプラグインはメソッドの名前/引数を自動的に取得し、その前に hittin/**と hitによってブロックを作成しますEnter

基本的なスニペットの書き方は知っていますが、スニペットがファイルから名前またはトークンを取得できるかどうかはわかりません。それが可能かどうかさえわかりません。

注 - どこから始めればよいか分からないので、自分ではあまりできませんでした。

4

2 に答える 2

0

:これは質問に直接答えるものではありませんが、問題を解決する可能性があります-デバッグ目的で必要になった場合。コメントとして送信しますが、まだ十分な評判ではありません。

これを試して:

arguments.callee.name

ただし、次の点に注意してください。

  • これは ST の機能ではなく、関数名を取得するJS の機能です
  • この機能は実際にはお勧めできません。パフォーマンスが低下する可能性があるため、開発モードのみ
  • 実際には厳密モードでは禁止されています
  • スニペットのような匿名関数では機能しません-関数に名前を付ける必要がありますx: function x() {}
  • 一部のブラウザは、関数の名前プロパティをサポートしていない場合があります
于 2016-11-03T09:29:08.667 に答える
0

これはスニペットでは不可能です。周囲のコードを「見て」、それに基づいてアクションを実行することはできません。そのために Sublimetext-plugin do を書く必要があります。

DocBlockr のソースコードを見ると、その方法がわかります。ファイル jsdocs.py には、正規表現を使用して関数名とパラメーターを抽出するparseFunction()や などのメソッドが含まれています。getArgType()

于 2014-04-17T11:02:49.047 に答える