2012-08-12 65 views

回答

66

您是否尝试使用\转义$

比如在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}等字段的符号。

+0

只需使用\ $将结果$ – Mahen 2018-01-07 02:39:59

6

虽然本身不​​是'答案',但我的评论更多的是一个例子。

我有同样的问题,但在崇高的文本2

创建jQuery的简写document.ready函数片断,随着你的答案,我就能够使它发挥作用:

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

类型jq,按TAB你得到这个:

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

注意光标在第一组圆括号内,这是由片段中的$1引起。输入完值后,再次按TAB,光标将移动到方法所在的位置,即$2位于代码段中的位置。再次按TAB,光标移至$3所在的第二组圆括号。

希望这可以帮助别人。

+1

谢谢。 '<!['CDATA [\ $'''中的'\ $'之前的新行有助于使其工作,并且也被忽略,因此您不会在snippet之前获得新的行。 – user619271 2016-08-09 06:34:40