次のコードはtextmatejavascriptスニペットですが、誰か説明してもらえますか?この機能を自分のスニペットで使用したいのですが。どうもありがとう。
document.getElement${1/(T)|.*/(?1:s)/}By${1:T}${1/(T)|(I)|.*/(?1:agName)(?2:d)/}("$2")
次のコードはtextmatejavascriptスニペットですが、誰か説明してもらえますか?この機能を自分のスニペットで使用したいのですが。どうもありがとう。
document.getElement${1/(T)|.*/(?1:s)/}By${1:T}${1/(T)|(I)|.*/(?1:agName)(?2:d)/}("$2")
${1:T}
最初のタブ プレースホルダーで、デフォルト値は "T" です。これは、「get」と入力してタブを押すと強調表示されるテキストです。
$2
2 番目のタブ プレースホルダーです。「T」または「I」を押して最初のタブ プレースホルダーの関数名を完成させたら、Tab を押してここに移動できます。
おそらくすでに知っている部分ですが、他の 2 つは少しトリッキーです。
${1/(T)|.*/(?1:s)/}
挿入スイッチの一種です。最初のタブのプレースホルダーに入力した値を見て、対応する値を選択して挿入します。「T」と入力すると、「s」が挿入されます (単語を「Elements」にするため)。それ以外の場合は、何も挿入されません。
${1/(T)|(I)|.*/(?1:agName)(?2:d)/}
は別の挿入スイッチで、最初のタブ プレースホルダーに入力した値を再度調べます (先頭の「1」が意味します)。ここでは、2 つの挿入方法があります。「T」と入力すると「Tagname」に補完され、「I」と入力すると「Id」に補完されます。
全体的な結果として、スニペットを呼び出して「T」と入力すると、「getElementsByTagName("")」に完了します。それを呼び出して「I」と入力すると、「getElementById("")」に補完されます。
textmateについては何も知りませんが、次のように生成されているようです。
document.getElementById(val);
document.getElementsByTagName(val);
しかしこれではありません:
document.getElementsByName(val);