2013-10-21 29 views
3

我剛剛寫了下面的代碼片段,並將其作爲「add-script-source.sublime-snippet」保存在文件夾Packages/User/HTML中。Sublime Text 2代碼片段在適當範圍內工作不正常

<snippet> 
    <content><![CDATA[ 
<script type="text/javascript" src="${1:script.js}">${2}</script> 
]]></content> 
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 
    <tabTrigger>scriptsrc</tabTrigger> 
    <!-- Optional: Set a scope to limit where the snippet will trigger --> 
    <scope>text.html</scope> 
</snippet> 

現在,我只希望此代碼段能夠在HTML文件中工作,但它不會。如果我註釋掉「範圍」標籤,它將在JavaScript中工作,但仍不在HTML中。我的印象是,用戶文件夾下面的文件夾名稱也給了Sublime Text適當的範圍(如本視頻https://tutsplus.com/lesson/your-first-snippet/所述),但這似乎沒有任何作用。每當我將範圍標記設置爲ANYING時,代碼段都不會觸發。

問題是什麼?

+1

您的代碼段工作正常,我。你確定你將文件設置爲ST2右下角的「HTML」嗎? – AGS

+0

也許你與另一個軟件包有衝突。嘗試禁用任何與HTML相關的軟件包(例如Zen編碼)並查看會發生什麼。 – Pier

+0

好吧,它看起來好像在工作,只是有幫助的崇高文本自動完成不會像其他語言一樣出現。有誰知道這可能是爲什麼? – mysteryDate

回答

17

「只是有幫助的崇高文本自動完成沒有出現,因爲它在其他語言中有 有人知道爲什麼這可能嗎?

您需要將其添加到您的Packages/User/Preferences.sublime-settings文件中。

"auto_complete_selector": "source, text" 

然後給它一個描述在代碼段文件:

<snippet> 
    <content><![CDATA[ 
<script type="text/javascript" src="${1:script.js}">${2}</script> 
]]></content> 
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 
    <tabTrigger>scriptsrc</tabTrigger> 
    <!-- Optional: Set a scope to limit where the snippet will trigger --> 
    <scope>text.html</scope> 
    <description>scriptsrc</description> 
</snippet> 
+0

不起作用。在JavaScript中,它會自動從文件名創建描述。我不知道爲什麼它會在HTML中不同。 – mysteryDate

+0

在我的文章中添加了解決方案。 – AGS

+0

BAM!而已!現在你可以向我解釋爲什麼「源 - 評論」不適用於HTML? – mysteryDate