2014-01-26 107 views
0

我正在尝试创建一些自定义代码段。这里是一个示例:无法获取自定义代码段

<snippet> 
    <content><![CDATA[ 
     @media screen and (min-width: \$break-small) { 
      $0 
     } 
     @media screen and (min-width: \$break-medium) { 
      $0 
     } 
     @media screen and (min-width: \$break-large) { 
      $0 
     } 
     @media screen and (min-width: \$break-xlarge) { 
      $0 
     } 
    ]]></content> 
    <tabTrigger>breakpoints</tabTrigger> 
    <scope>source.scss,source.css</scope> 
</snippet> 

我在/packages/user/文件夹中保存此为breakpoints.sublime-snippet。然后我退出崇高的文字并重新启动它,但片段不可用。任何想法是什么问题?

回答

0

好的,问题是source.scss不正确。它应该是source.sass。因为我使用的是scss语法,而不是sass语法,所以它不是很直观,但它现在可行。

0

有几个问题。首先,$0表示在填充所有其他字段后,光标最终会在哪里结束,因此每个片段只能有一个。其次,我假设$break-small$break-medium等是SASS/SCSS变量,所以您需要在代码片段中使用反斜杠\来逃避$美元符号,以便正确打印。因此,假设你要保留所有这些在同一个文件,并通过选项卡每个字段,使您的片段看起来像这样:

<snippet> 
    <content><![CDATA[ 
@media screen and (min-width: \$break-small) { 
    $1 
} 
@media screen and (min-width: \$break-medium) { 
    $2 
} 
@media screen and (min-width: \$break-large) { 
    $3 
} 
@media screen and (min-width: \$break-xlarge) { 
    $4 
} 
$0 
    ]]></content> 
    <tabTrigger>breakpoints</tabTrigger> 
    <scope>source.scss,source.css</scope> 
</snippet> 

你通过TAB键$1$2$3,并且$4递增的顺序,并最终以$0的退出点结束。我还修复了缩进,以便您的内容与左边界对齐并且不缩进,但您当然可以将其更改为您喜欢的任何缩进级别。

将文件重新保存为Packages/User/breakpoints.sublime-snippet,重新开机只是为了好玩(您可能不需要,但不会伤害),并且您应该全部设置。

+0

感谢您花时间回答,但这并不奏效。任何其他想法? –

+0

只是为了让你知道使用多个'$ 0'就是如何用多个游标调出片段。 –

+0

@moss我没有意识到这一点,谢谢。 – MattDMo