2014-01-26 149 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