【问题标题】:Does SublimeText Not Allow $variables in snippets?SublimeText 是否不允许在片段中使用 $variables?
【发布时间】:2013-11-08 02:10:44
【问题描述】:

好的,所以我遇到了一个小问题,更令人烦恼。它提出了一个问题,为什么崇高的文本会这样。是的,虽然这是 compass 和 sass 标记,但问题与 sublime text sn-ps 有关。

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

$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;

所以我创建了一个新的 sn-p,这就是我输入它的方式:

<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>

一切似乎都很好,对吧?您可能在想,“这家伙不知道如何制作 sn-p!他为什么要浪费我的时间?”好吧,看看这个......当我在我的主文档中使用选项卡触发器来调用这个 sn-p 时,这就是它的输出:

-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. 我已尝试更改原始选项卡级别,以查看选项卡顺序是否导致问题

唉,我们到了。我已经解决了它,我认为它与前面的 $ 有关。当我删除美元符号时,我得到了

default-box-shadow-color: #333333;
很接近,除了指南针需要那个美元符号,而 sn-p 的全部意义在于让我的生活更轻松。

有没有办法取消$?这是一个已知的问题?我是不是做错了什么,还是应该向 sublime 的开发者提出这个问题?如果可以的话,我希望能够使用它。任何帮助,将不胜感激。谢谢。

【问题讨论】:

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


    【解决方案1】:

    使用\ 转义所有$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>
    

    【讨论】:

    • 不错!谢谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多