2013-05-29 59 views
0

我試着在崇高的文本使用片段 - 我/用戶/ davidfaux /庫/ Application Support /崇高文本中創建的文檔hello.sublime - 摘錄2 /封裝/用戶:爲什麼Sublime文本中的代碼片段不能做任何事情?

<snippet> 
    <content><![CDATA[ 
    alert("hello {$1}"); 
]]></content> 
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 
    <!-- <tabTrigger>hello</tabTrigger> --> 
    <!-- Optional: Set a scope to limit where the snippet will trigger --> 
    <!-- <scope>source.js</scope> --> 
</snippet> 

然後,我創建了一個在我的桌面上的新文件叫做hello.js:

document.onload = function() { 
    hello 
} 

但是,當我在hello之後按下tab鍵時,什麼也沒有發生。爲什麼不?我嘗試在我的用戶設置中設置"auto_complete_commit_on_tab": true,並且此屬性似乎適用於自動填充。

任何有關調試方向的建議都會被讚賞!

回答

1

您正在使用模板來創建這個片段後,按選項卡,將工作。因此,您需要取消註釋實際定義代碼段的行。

在ST2中做到這一點的快速方法是選擇整條線,然後按ctrl + shift + /移除註釋標記。

您需要取消註釋的行是<tabTrigger>hello</tabTrigger>行和<scope>source.js</scope>行。然後,只要您將它放入.js文件,此代碼段就可以正常工作。

此外,我更喜歡使用Enter自動完成,因爲Tab也用於ST2導航。

0

取消註釋<tabTrigger>,當你hello

1

正如其他人所說,決定其標籤觸發器的片段部分目前是已評論XML comments這個樣子的:

<!-- ...commented content... -->

你已經離開這兩個tabTrigger標記線和scope標記線註釋,所以hello不會擴大到片段內容的唯一途徑立即激活片段是通過命令選板 - 也不是實際限制在Javascript文件中的片段範圍。你必須從這些行刪除評論(Ctrl+/是Windows的默認單行註釋切換)對他們有什麼影響,是這樣的:

<!-- Optional: Set a tabTrigger to define how to trigger the snippet --> 
<tabTrigger>hello</tabTrigger> 
<!-- Optional: Set a scope to limit where the snippet will trigger --> 
<scope>source.js</scope> 

您可以在the Unofficial Docs Snippets page閱讀更多有關片段。

相關問題