1

Sublime Text 2 片段解析错误

这是错误:

Error parsing content for snippet Packages/User/servlet-definition.sublime-snippet: Empty key

这是代码:

<snippet>
    <content><![CDATA[
    <servlet>
        <servlet-name>$1</servlet-name>
        <servlet-class>${2:spray.servlet.Servlet30ConnectorServlet}</servlet-class>
        <async-supported>${3:true}</async-supported>
    </servlet>

    <servlet-mapping>
        <servlet-name>$1</servlet-name>
        <url-pattern>$(4:/*}</url-pattern>
    </servlet-mapping>

    ${5}
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>sdef</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <!-- <scope>XML</scope> -->
</snippet>
4

2 回答 2

4

问题不在于 Sublime Text 2认为您使用的是正则表达式,而是$(4:/*}应该只用括号括起来,而不是括号和括号。就像现在一样,Sublime Text 想知道为什么你$不是变量的一部分。改用${4:/*},你应该没问题。

此外,您可以使用$0来定义光标的退出位置- 看起来您正在$5为此目的使用,如果您想添加更多字段,这将是一个问题。

于 2013-05-19T18:12:22.747 回答
0

$(4:/*} 是问题所在。不知道为什么,似乎它被评估为正则表达式。我尝试转义正斜杠但没有运气。我刚刚删除了默认文本。

于 2013-05-19T13:49:32.300 回答