Sublimetext2 为什么JS设计模式片段不能在sublime中工作

Sublimetext2 为什么JS设计模式片段不能在sublime中工作,sublimetext2,code-snippets,Sublimetext2,Code Snippets,以下升华代码段不工作: <snippet> <content><![CDATA[ (function ($) { var defaults = {}; function NAME(element, options) { this.config = $.extend({}, defaults, options); this.elem

以下升华代码段不工作:

<snippet>
    <content><![CDATA[
        (function ($) {
            var defaults = {};

            function NAME(element, options) {
                this.config = $.extend({}, defaults, options);
                this.element = element;
                this.init();
            }

            NAME.prototype.init = function () {
            };

            $.fn.name = function (options) {
                new NAME(this.first(), options);
                return this.first();
            };
        }(jQuery));

]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>jqp</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <!-- <scope>source.js</scope> -->
</snippet>

jqp
如果有人能告诉我如何在代码段中使用自定义参数,那也会有很大帮助。


<snippet>
    <content><![CDATA[
(function (\$) {
    var defaults = {};

    function ${1:name}(${2:element}, ${3:options}) {
        this.config = \$.extend({}, ${2:defaults}, ${3:options});
        this.element = element;
        this.init();
    }

    ${1:NAME}.prototype.init = function () {
    };

    \$.fn.${1:name} = function (options) {
        new ${1:NAME}(this.first(), options);
        return this.first();
    };
}(jQuery));
]]></content>
    <tabTrigger>jqp</tabTrigger>
    <scope>source.js</scope>
</snippet>
jqp source.js
这应该能奏效
$
是一个特殊字符,因此必须使用
\
对其进行转义。另外,我删除了额外的缩进并添加了制表位,以允许自定义参数。必须使用
${#:placeholder name}
符号在某个单词处创建制表位。根据您希望选项卡停止的顺序,您将用您的号码替换
,并将
占位符名称
替换为您希望占位符值显示的内容。您可以阅读更多有关Sublime文本片段的信息。

仅用于确定该片段适用于哪种类型的文件。现在,它被设置为
source.js
,这意味着该代码段将只对JavaScript文件有效。如果希望代码段适用于所有文件类型(.java、.html、.css等),只需删除或注释掉
scope
标记即可。