web-dev-qa-db-ja.com

Sublime Text2スニペットでドル記号/ JQueryを使用する方法は?

Sublime Text2を使用してコード「スニペット」を作成しようとしていますが、jQueryコードを追加しようとした場合を除いて、すべて正常に機能します。どうやら、$で始まる行を含む「スニペット」コードは単純に機能しません。これに関してオンラインで答えを見つけることができませんでした。

32
William

$\でエスケープしようとしましたか?

たとえば、PHPの場合、$ GLOBALSスニペットは次のとおりです。

<snippet>
    <content><![CDATA[\$GLOBALS['${1:variable}']${2: = }${3:something}${4:;}$0]]></content>
    <tabTrigger>globals</tabTrigger>
    <scope>source.php</scope>
    <description>$GLOBALS['…']</description>
</snippet>

<content>でわかるように、$ GLOBALSは\ $ GLOBALSとして表されます。これは、$が$ {1:variable}のようなフィールドに使用されるシンボルであるためです。

71
Zendmailer

それ自体は「答え」ではありませんが、私のコメントはもっと例です。

同じ問題がありましたが、Sublime Text2でjQueryの短縮形document.ready関数スニペットを作成しました。

あなたの答えで、私はそれを機能させることができました:

<snippet>
  <content><![CDATA[
    \$(function(){
      \$("$1").$2("$3");
     });
  ]]></content>
     <tabTrigger>jq</tabTrigger>
</snippet>

jqと入力し、TABを押すと、次のようになります。

$(function(){
    $("|").("");
});

カーソルが最初の括弧のセット内にあることに注意してください。これは、スニペットの$1が原因です。値の入力が終了したら、もう一度TABを押すと、カーソルがメソッドの移動先に移動します。これは、スニペット内の$2の場所です。もう一度TABを押すと、カーソルが$3の2番目の括弧のセットに移動します。

これが他の人に役立つことを願っています。

6
Ricardo Zea