11

所以今天早上我很高兴从事一个大量使用自定义 .xml 配置文件的项目。

突然之间,每当我在解决方案资源管理器中双击一个 .xml 文件时,它就会在记事本中打开,而不是在 Visual Studio 中打开。

认为这是 Windows 文件关联,我在资源管理器中右键单击文件,选择打开方式>>选择默认值,然后选择 Visual Studio 2008。

但是问题仍然存在——现在当我从资源管理器中打开一个文件时,Visual Studio 打开,然后它打开记事本。

不用说,这很令人沮丧,谷歌也帮不上什么忙。有没有其他人遇到过这个问题,你做了什么?

笔记:

  • 这只发生在 .xml 文件中。其他文本文件(.config、.txt)在 Visual Studio 中打开就好了。
  • 这与Windows文件关联无关,因为 Windows 会正常打开 VS2008。这是 Visual Studio 内部的一些疯狂问题。
  • 我也试过工具>>选项>>常规>>恢复文件关联。没运气。
  • 工具>>选项>>文本编辑器>>文件扩展名中没有任何内容
  • 这就是 .xml 文件的“打开方式”菜单的样子。如您所见,“XML 编辑器”设置为默认值。 替代文字
4

6 回答 6

11

是的。Visual Studio 文本编辑器似乎无法支持 UTF-16 Unicode,因此在外部编辑器中打开它。使用“UTF-8”编码重新保存 xml 文件(请记住将您的 xml 声明也从“UTF-16”更改为“UTF-8”,然后就可以了。

于 2012-03-22T08:59:59.320 回答
3

如果你进入工具 > 选项 > 文本编辑器 > 文件扩展名,这里有映射到记事本的东西吗?如果是这样删除它,它应该清除它。此外,如果您的项目中有 XML 文件,您可以右键单击它,选择 Open With 并在那里选择您的默认编辑器。

更新:查看评论以尝试其他事情

于 2009-12-28T20:16:33.433 回答
2

有同样的问题。尝试使用带有 Encoding 的 XML Editor打开文件。这样我就可以明确选择 Unicode,它在 VS 中成功打开了文件。从那里保存文件后,问题就消失了。

于 2012-02-01T09:11:44.517 回答
0

在安装升级后,我在使用 VS Express 2012 for Windows Desktop 的 *.js 文件中遇到了类似的情况。跑步:

rmdir /s /q  %LOCALAPPDATA%\Microsoft\WDExpress\11.0\ComponentModelCache

并重新启动VS解决了这个问题。

于 2013-07-30T07:54:06.630 回答
0

我对 .txt 文件有类似的问题。我尝试使用“打开方式...”从 VS 打开该文件,然后 VS 打开它,但每隔一个字符就会显示垃圾。当我将文件保存到不同的代码页时,问题就消失了。虽然它仍然有点奇怪,因为原始代码页中的原始文件的副本确实在 VS 中通过双击正确打开并且也正确显示。

于 2010-04-26T19:18:49.897 回答
0

我认为“每隔一个字符显示垃圾”是由于该文件被保存为 unicode,但在编辑器中被视为非 unicode

于 2010-10-20T00:33:59.030 回答