Visual Studio 2008不会编辑只读文件

时间:2008-11-19 17:26:22

标签: .net visual-studio visual-studio-2008 ide

所以,直到今天,当我尝试在VS2008中编辑只读文件时,弹出一个对话框,给出了三个选项:

  • 在内存中编辑
  • 可写
  • 保存副本

还有一个复选框,上面写着“永不允许内存编辑”。

突然间,它已经停止提供这些选项,如果文件是只读的,它就不会接受编辑器窗口中的任何输入。我必须进入Windows资源管理器并将文件标记为不可读,然后在我进行任何更改之前在VS中重新打开它。我正在开发一个包含大量源代码控制文件的大型项目,并且经常需要对文件进行本地更改,因此这是一个真正的PITA。

我猜我必须在错误的情况下检查永不允许的内存编辑复选框。

工具中有一个选项..选项..环境..文件读取:

“允许编辑只读文件,在尝试保存时发出警告”

勾选此复选框,并将其值更改为无效。我试过关闭并打开工作室,重新启​​动我的机器等 - 一切都无济于事。

任何人都知道如何恢复以前的行为?

5 个答案:

答案 0 :(得分:14)

如果有人感兴趣,将以下注册表项重置为0将恢复以前的行为:

HKCU\Sofware\Microsoft\Visual Studio\9.0\Source Control\UncontrolledInMemoryEditDialogSuppressed

答案 1 :(得分:2)

我在Visual Studio 2010中做了同样的事情。对话框在措辞中并不完全清楚。 问题(和Winston的解决方案)在Visual Studio 2010中是相同的。 所以在注册表中将其设置为0:

HKEY_CURRENT_USER \ Software \ Microsoft \ Visual Studio \ 10.0 \ Source Control \ UncontrolledInMemoryEditDialogSuppressed

答案 2 :(得分:1)

在同一个注册表位置中似乎还有其他注册表变量...

和以前一样,转到HKEY_CURRENT_USER \ Software \ Microsoft \ Visual Studio \ 10.0 \ Source Control \

重置所有三个:

  • AllowUncontrolledInMemoryEditing
  • AllowInMemoryEditing
  • UncontrolledInMemoryEditDialogSuppressed

回到零。

(这似乎使我自己的编译器一直回到“出厂默认”行为。)

答案 3 :(得分:1)

我今天遇到了同样的问题,发现在工具中选择的源代码控制 - >选项 - >源代码管理已经改变了。所以...您可能想要验证您选择的源控制系统是否符合您的预期。

答案 4 :(得分:-2)

实际上,最合乎逻辑的是:

  1. 如果不打算编辑文件,请将其标记为只读
  2. 如果要编辑的文件 ,请将其标记为可写!
  3. 这部分是只读属性的整个 point

    如果你认为我在某种程度上是错误的,请确定,但是其他人在逻辑上应该同意我的意见,因为目前,它并不过分清楚为什么你需要以错误的方式使用东西。

    在解释扩展之前,你的问题与抱怨为什么,当你删除某些东西时,你不能在以后得到它。