2011-11-15 41 views
2

我有一些HTML文件,它們由Javascript加載並用於使用underscore.js模板呈現內容。它們包括標記類似如下:在Visual Studio中編輯HTML文件時支持Javascript模板標記

<div class="subitem <%= (i==0 ? "first" : "") %>" data-cid="<%=model.cid %>" > 

當我編輯在Visual Studio 2010中的HTML文件,它不與< %%應付得很好>和<%=%>模板標籤。例如,上述標記中有幾個縮進(「未知的css類我」,「意外的標記」等)。同樣的問題也適用於其他模板庫使用的標籤,例如爲其標籤使用大括號的Mustache和JQuery模板。

我希望編輯器忽略模板標籤中的任何代碼。有沒有辦法配置Visual Studio來做到這一點,或者一個解決問題的插件?

回答

1

對於鬍鬚和jquery模板,請在<script>標記中創建它們,然後將type屬性設置爲除javascript以外的屬性。 jQuery的模板:

<script id="userTemplate" type="text/x-jquery-tmpl"> 
    <option value="{{=UserID}}">{{=FullName}}</option> 
</script> 
<script id="deptTemplate" type="text/x-jquery-tmpl"> 
    <option value="{{=DepartmentID}}">{{=DepartmentName}}</option> 
</script> 

然後您可以提取像這樣

$("#userTemplate").html() // to get the content 

至於<%內容,我目前不知道如何使VS忽略它,但我對此表示懷疑。

更新

好吧,既然你使用underscore.js,爲什麼不改變_.templateSettingsto use another symbol

+1

感謝您的建議。然而,我真的在處理一個單一的html文件是整個模板的情況。至於更改符號,同樣的問題適用於像{{}}這樣的標籤。 –

+0

你是否提到編譯器警告? – OnesimusUnbound

+0

警告顯示在Visual Studio HTML Editor中,因爲模板標記表示文檔是無效的HTML。 –

相關問題