【问题标题】:Visual studio file opens only with notepadVisual Studio 文件仅使用记事本打开
【发布时间】:2011-11-01 21:04:44
【问题描述】:

我在使用 Visual Studio 2010 时遇到了一个非常奇怪的问题。

我的程序有一些内存问题,所以我必须经常重启。上次重新启动后,我的一个头文件已自动损坏,现在只能通过记事本打开(甚至从 Visual Studio 的内部环境中,在调试时(它只显示我只显示汇编代码)或当我去此文件的文件夹并执行“使用 Visual Studio 打开”,它仍然是记事本打开它)。

我在微软论坛found the problem,但那里没有任何解决方案的想法。

【问题讨论】:

  • 您是否尝试过链接中发布的解决方案? "将文件另存为 Unicode"
  • 由于程序中的内存问题,您必须重新启动?它是否在特权模式下运行?
  • 好吧,程序可能会占用所有内存空间,然后重新启动是我知道的唯一选项:(关于 unicode-在我的 nodepad 上没有找到这个选项,但一位朋友刚刚告诉我那也许 notpad++ 会来救我,我现在正在尝试。
  • 记事本 -> 另存为 -> 编码 -> Unicode
  • 嘿,我设法在记事本++的帮助下以可视方式打开文件....J。 Kommer-非常感谢!但是文件仍然损坏,所以我必须重新编写一些方法:( Valmods-感谢您对损坏的帮助,我将尝试使用这些程序查看发生了什么。

标签: c++ visual-studio visual-studio-2010 notepad


【解决方案1】:

我最近遇到了同样的问题。我相信该文件已被非打印字符损坏;它在记事本中看起来很好,除了每一行都缩进一个空格。

要解决此问题,我必须在记事本中打开文件,然后删除/删除原始文件,通过向项目中添加新项目来重新创建它,然后从记事本中复制旧文件的内容。

我使用的是 VS Express 2013,它对粘贴的文本施加了自己的格式,因此此时缩进消失了。 Mercurial 没有显示损坏文件和新文件之间的任何差异(除了我刚刚添加的一些代码)。

【讨论】:

  • 不可打印的字符会导致这种效果。我有一个文本文件,最后有一个 ASCII 字符 27,Visual Studio 2012 和 2015 都把它吐到记事本上。
【解决方案2】:

如果 Visual Studio 无法识别文件的编码,通常是文件已损坏(在我的情况下是由于电源故障),它会默认使用记事本打开文件.

虽然@Sammler 很幸运,他损坏的文件是可以恢复的(通过在更宽容的文本编辑器中打开半损坏的文件),但不能保证会出现这种情况,您可能会因为丢失工作/文件内容。

【讨论】:

    【解决方案3】:

    同样的事情发生在我身上。

    这发生在我的 Windows VM 无响应之后。在我的 Mac 上使用 VMWare Fusion,我做了一个“强制关机”。当它恢复时,我正在处理的文件正在记事本中打开,并且似乎是空白的。

    我用记事本++打开文件,发现文件内容只是一串NUL字符(字符以深色背景显示)。我确定 VS 看到了这一点,并决定要注意显示损坏的数据。显然 Force-Shutdown 造成了这种情况,所以我唯一的办法就是从源代码管理中获取备份。

    【讨论】:

      【解决方案4】:

      如果您的文件中有空终止字符,则可能会发生这种情况(又名“\0”)

      【讨论】:

      • 哇,很好的答案。我没有意识到答案这么简单。我的文本编辑器可以找到这样的字符,它找到了一个,在我删除它后它工作得很好。我使用的是本周下载的最新 Visual Studio,它正在启动 6 个记事本实例,现在问题消失了
      【解决方案5】:

      也发生在我身上。我的文件——出于某种原因——被保存为 UNICODE,而不是像我的所有其他项目文件一样保存为 ANSI。 只需使用记事本保存为 ANSI 即可。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-04
        • 1970-01-01
        • 1970-01-01
        • 2018-02-06
        • 2017-04-06
        • 2016-11-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多