SublimeText不允许片段中的$变量吗?

时间:2013-10-29 04:05:40

标签: sass sublimetext2 compass-sass code-snippets sublimetext

好的,所以我遇到了一个小问题,更多的是烦恼。它提出了一个问题,为什么崇高文本以这种方式行事。是的,虽然这是指南针和sass标记,但问题与sublime文本片段有关。

所以这是我想通过sublime(我的最终目标)在片段中重复的代码:

$default-box-shadow-color:  #333333;
$default-box-shadow-h-offset:   0px;
$default-box-shadow-v-offset:   0px;
$default-box-shadow-blur:       5px;
$default-box-shadow-spread:     false;
$default-box-shadow-inset:  false;

所以我制作了一个新的片段,这就是我输入它的方式:

<snippet>
<content><![CDATA[
    $default-box-shadow-color:  ${1:#333333};
    $default-box-shadow-h-offset:   ${2:0px};
    $default-box-shadow-v-offset:   ${3:0px};
    $default-box-shadow-blur:      ${4:5px};
    $default-box-shadow-spread:     ${5:false};
    $default-box-shadow-inset:  ${6:false};
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>defaultboxshadow</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.sass</scope>
</snippet>

一切似乎都很好吗?你可能在想,“这家伙不知道如何制作片段!他为什么要浪费我的时间?”好吧,看看这个......当我在主文档中使用tab触发器来调用这个片段时,这就是它输出的内容:

-box-shadow-color:      #333333;
-box-shadow-h-offset:   0px;
-box-shadow-v-offset:   0px;
-box-shadow-blur:       5px;
-box-shadow-spread:     false;
-box-shadow-inset:      false;

奇怪的是......所有

$default
部分都消失了。所以我希望有人对我有解释。或者这是崇高的错误?

我知道的一些事情(98%确定性)问题:

  1. 标签触发器部分,当我使用标签触发器时,它可以减去这一点。没有其他标签触发器与此竞争。我更改了触发器以完成mumbo-jumbo,我可以看到它识别它而没有其他触发器的冲突
  2. 范围。我相信很多人会认为没有source.sass范围,但我事后添加了一个,所以我的sublime有一个。我没有范围尝试过它,它有同样的问题。所以不是那样。
  3. 突出显示顺序,我删除了这些,我遇到了同样的问题。
  4. 我尝试更改原始标签级别以查看标签顺序是否导致问题
  5. 唉,我们在这里。我遇到了麻烦,我认为这与前面的$有关。当我删除美元符号后,我得到了

    default-box-shadow-color: #333333;
    ,除非指南针需要那个美元符号,而且片段的整点都是为了让我的生活更轻松。

    有没有办法让角色取消$?这是一个已知的问题?我做错了什么,或者我应该把它与崇高的开发者联系起来?如果可以的话,我想能够使用它。任何帮助,将不胜感激。感谢。

1 个答案:

答案 0 :(得分:4)

使用$default

转义所有\个变量
<snippet>
<content><![CDATA[
    \$default-box-shadow-color:  ${1:#333333};
    \$default-box-shadow-h-offset:   ${2:0px};
    \$default-box-shadow-v-offset:   ${3:0px};
    \$default-box-shadow-blur:      ${4:5px};
    \$default-box-shadow-spread:     ${5:false};
    \$default-box-shadow-inset:  ${6:false};
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>defaultboxshadow</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.sass</scope>
</snippet>