禁用 Visual Studio 对看起来像 xml 的非 xml 文件的验证?

Disable Visual Studio's validation of non xml files that look like xml?

这是重复别人问过的问题 back in 2008 , 但当时似乎没有真正的答案,这仍然是一个问题。

我正在为看起来像 XML 而不是的文件编写 Visual Studio 扩展名,并且不以 xml 扩展名结尾。 (我正在使用 .csp)但是 Visual Studio 继续解析并突出显示文件,就好像它是 XML 一样。这使得我自己的解析和错误处理工作变得困难。

有没有什么方法可以通过编程告诉 visual studio 该文件不是 XML?

另见 similar issue on MS forum

因为您有自己的文件扩展名,所以有!这只是编辑优先级的问题。 XML-sniffer 编辑器只有在没有其他优先级更高的人先这样做的情况下才有机会声明该文件。它通过将特殊的 * 文件扩展名注册为可编辑文件来实现这一点,然后如果它看起来像 XML 则抓取该文件——但是 * 扩展名注册的优先级仅为 33。

您需要做的就是确保您的 编辑器以更高的优先级正确注册。在您的包裹上,确保您具有 ProvideEditorExtension 属性。我建议优先级为 50(数字越大优先级越高)。

[ProvideEditorExtension(typeof(CspEditorFactory), ".csp", 50)]

如果您还没有编辑器工厂,可以使用 good walkthrough on MSDN about how to create one