【发布时间】:2012-08-12 06:28:21
【问题描述】:
我正在尝试使用 Sublime Text2 创建一些代码“Snippets”,除了我尝试添加 jQuery 代码外,一切正常。显然,任何包含以$ 开头的行的“片段”代码都将无法正常工作。我在网上找不到任何关于此的答案。
【问题讨论】:
标签: sublimetext2
我正在尝试使用 Sublime Text2 创建一些代码“Snippets”,除了我尝试添加 jQuery 代码外,一切正常。显然,任何包含以$ 开头的行的“片段”代码都将无法正常工作。我在网上找不到任何关于此的答案。
【问题讨论】:
标签: sublimetext2
您是否尝试使用\ 转义$?
例如在 PHP 中,$GLOBALS sn-p 是:
<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} 等字段的符号。
【讨论】:
虽然本身不是“答案”,但我的评论更像是一个例子。
我有同样的问题,但在 Sublime Text 2 中创建 jQuery 的简写 document.ready 函数 sn-p。
有了你的回答,我就能让它工作:
<snippet>
<content><![CDATA[
\$(function(){
\$("$1").$2("$3");
});
]]></content>
<tabTrigger>jq</tabTrigger>
</snippet>
输入jq,按TAB,你会得到这个:
$(function(){
$("|").("");
});
注意光标在第一组括号内,这是由sn-p中的$1引起的。输入完值后,再次按TAB,光标将移动到方法所在的位置,即$2 在sn-p 中的位置。再次按TAB,光标移动到$3所在的第二组括号。
希望这对其他人有所帮助。
【讨论】:
<![CDATA[\$ 中 \$ 之前的新行有助于使其正常工作,并且也会被忽略,因此您不会在 sn-p 之前获得实际的新行。