Visual Studio 2012 html编辑器坚持对在检测到或配置的html架构中找不到的标记名发出警告。
当我使用谷歌的AngularJs时,这种行为并不方便,因为它充分利用了所有主要浏览器都允许在DOM中输入自定义标记的事实。
有没有一种方法可以提供自定义验证模式,或者我一直使用Microsoft提供的硬编码模式?
请注意
我知道您可以通过取消选中"工具"->"选项"->"文本编辑器"->"HTML"->"验证"->"显示错误"来完全禁用验证。但是,我不想完全禁用验证。
如果您愿意编辑验证规则文件C:Program Files (x86)Microsoft Visual Studio 11.0Common7Packagesschemashtmlhtml_5.xsd
,您可以消除与Angularjs元素指令相关的验证错误。
首先备份原始xsd文件。定义元素并将其添加到文件中。根据需要修改相关的母元素。保存并重新启动VS2012。您的元素指令将不再生成HTML5验证错误。
例如,给定一个元素指令"schema form fields",该指令为:
- 场集中的嵌套
- 需要属性"field"、"model"one_answers"schema"
以下修改后的字段集和新的模式表单字段声明消除了不需要的验证错误。
<xsd:element name="fieldset">
<xsd:complexType mixed="true">
<xsd:choice>
<xsd:element name="legend" type="legendType" minOccurs="0" maxOccurs="1" />
<xsd:element ref="schema-form-fields" minOccurs="0" maxOccurs="1"/>
<xsd:group ref="flowContent" />
</xsd:choice>
<xsd:attributeGroup ref="commonAttributeGroup" />
<xsd:attribute name="disabled" vs:standalone="true" />
<xsd:attribute name="form" vs:associatedcontrolid="form" />
<xsd:attribute name="name" />
</xsd:complexType>
</xsd:element>
<xsd:element name="schema-form-fields">
<xsd:complexType mixed="true">
<xsd:attribute name="fields" type="xsd:string" use="required" />
<xsd:attribute name="model" type="xsd:string" use="required" />
<xsd:attribute name="schema" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
我不知道我是否正确理解了你的问题。
如果你说VS2012总是在ng-attribute上显示错误,这里是解决方案。
-
在ng-之前添加数据,因此它将是数据ng-*
-
安装此AngularJS intellisense支持。
对于VS2010,请尝试此