2013-06-04 59 views
4

我正在嘗試向Emmet的snippets.json文件添加一些自定義JavaScript片段和縮寫,但是我無法使其工作! (我用崇高文本2)emmet的自定義JavaScript代碼片段(在Sublime Text 2中)

如果我把這個到settings.json

"javascript": { 

    "abbreviations": { 
     "while": "while(true)\n{\n\t\n}" 
    }, 

    "snippets": { 
     "asdf": "qwerty" 
    } 
} 

沒有任何反應結束。 (我的文件的語法設定爲JavaScript的明顯)

但是,如果我取代「的JavaScript」與「CSS」:

"css": { 

    "abbreviations": { 
     "while": "while(true)\n{\n\t\n}" 
    }, 

    "snippets": { 
     "asdf": "qwerty" 
    } 
} 

它正確地覆蓋內置的CSS代碼片段,並能正常工作。 (我明顯將語法設置爲css [否則它不起作用])

我在想什麼?根據這個:http://docs.emmet.io/customization/snippets/ 我應該能夠以這種方式定義自定義語言的片段。

注意:我也嘗試了'js'作爲語言名稱。

+1

那麼[Snippets頁面](http://docs.emmet.io/customization/snippets/)是否意味着您可以添加對自定義語言的支持?我不認爲Emmet是爲Javascript設計的;你可能會更喜歡用[SublimeCodeIntel](https://github.com/Kronuz/SublimeCodeIntel)來加強你的Javascript開發。仍然,[這個問題](http://stackoverflow.com/questions/9578259/how-to-make-zen-coding-support-javascript-files-in-sublime-text2)可能會幫助你(艾米特曾被稱爲Zen Coding),儘管我不確定。 –

+0

謝謝,您鏈接的問題非常有幫助,但我決定使用Sublime的內置Snippets。 – Isti115

回答

8

您應該使用js作爲語法名稱,因爲Sublime Text將JavaScript範圍定義爲source.js。將來,您應該使用source.(SYNTAX_NAME)部分作爲語法名稱。

而且您不應該使用abbreviations部分作爲片段,因爲縮寫定義了元素塊並且應該寫爲HTML元素。使用snippets部分。

請注意,在ST編輯器中的JS文件中,您必須使用Ctrl + E來擴展縮寫,因爲此語法的Tab鍵被禁用。

而且,作爲量角器忍者指出,在編輯器中使用Emmet片段並不是一個好主意,它支持本機片段。

+0

謝謝你的回答!經過研究,我發現更多一些: https://github.com/sergeche/emmet-sublime/issues/207 [我認爲你回答那個太:)] ,並決定給予內置的片段支持崇高的文本一試。 (我最初想使用emmet是因爲我想把我所有的片段存放在一個地方,並且確保沒有任何片段與另一個片段重疊)。我認爲這對我來說有點過於複雜[每個文件只有一個片段等。 ],但我想我已經習慣了它,它功能很強大,再次感謝您的回答! :) – Isti115

+1

謝謝你的回答謝爾蓋。我試圖在我的snippets.json文件中創建一個自定義JavaScript片段,但它不起作用。在閱讀您的答案後,我將代碼從縮寫部分移至片段部分,現在一切正常。 (我現在可以用一些按鍵將一個通用對象文字插入到我的代碼中!) – Gerald

相關問題