在Visual Studio编辑HTML文件时,支持Javascript的模板标记标记、模板、编辑、文件

2023-09-11 01:27:17 作者:换一张假面

我有一个由JavaScript加载和使用使用underscore.js模板来呈现内容的一些HTML文件。它们包括标记如下所示:

I have some HTML files that are loaded by Javascript and used to render content using underscore.js templates. They include markup like the following:

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

当我在Visual Studio 2010中编辑HTML文件,它不处理得太好用的&lt;%%>和&lt;%=%>模板标签。例如,有几个squigglies在上面标记(未知CSS类我,意外的标记等)。同样的问题也适用于与由使用大括号为他们的标签等模板库,如胡子和JQuery的模板标签。

When I edit the HTML files in Visual Studio 2010, it doesn't cope too well with the <% %> and <%= %> template tags. For example, there are several squigglies in the above markup ("unknown css class i", "unexpected token" etc). The same problem applies with tags used by other template libraries, such as Mustache and JQuery Templates which use curly braces for their tags.

我想编辑忽略模板标签中的任何code。是否有解决这个问题的方式配置的Visual Studio要做到这一点,或者一个插件?

I'd like the editor to ignore any code within the template tags. Is there a way of configuring Visual Studio to do this, or a plug-in that solves the problem?

推荐答案

有关的胡子和jQuery模板,在&LT创建它们C $ C>键入属性以外的其他的JavaScript。 jQuery的模板:

For mustache and jquery template, create them in <script> tag, then set the type attribute to other than that of javascript. For jquery template:

<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>

然后你可以提取这样的内容

Then you may extract the content like this

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

至于&LT;%,我目前不知道如何让VS忽略它,但我对此表示怀疑。

As for <%, I currently do not know how to make VS ignore it, though I doubt it.

更新

好吧,既然你使用的是underscore.js,为什么不改变 _。templateSettings 的使用其他符号。

Well, since you're using underscore.js, why not change the _.templateSettings to use another symbol.