2008-11-19 38 views
5

所以,直到今天,當我嘗試編輯只讀在VS2008文件,一個對話框彈出給我三個選項:在內存 的Visual Studio 2008將無法編輯只讀文件

  • 編輯
  • 使可寫
  • 保存副本

還有上面寫着「絕不允許在內存中的編輯」複選框。

突然之間,它已經停止提供這些選項,並且如果該文件是隻讀的,它將不會接受編輯器窗口中的任何輸入。我必須進入Windows資源管理器,並將文件標記爲不可讀取,然後在VS中進行任何更改之前,將其重新打開。我正在開發一個大型項目,其中包含許多源代碼控制文件,並且經常需要對文件進行本地更改,因此這是一個真正的PITA。

我猜我必須檢查從不允許在內存編輯複選框錯誤。

有一個在工具選項...選項... ..環境的文件內容如下:

「允許只讀文件編輯,警告時試圖挽救」

此複選框被選中,並目前改變其價值沒有任何效果。我嘗試關閉並打開工作室,重新啓​​動我的機器等 - 都無濟於事。

任何人都知道如何恢復以前的行爲?

回答

14

如果有人有興趣,重置以下注冊表項設置爲0,將恢復以前的行爲:

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

其實,做最順理成章的事情是這樣的:

  1. 如果文件不打算進行編輯,將其標記只讀
  2. 如果文件打算進行編輯,標記它是可寫的!

這是部分整個的只讀屬性。

如果你覺得我在某種程度上是錯誤的,當然,下來mod我,但其他人在邏輯上應該同意我的看法,因爲目前,它不太清楚爲什麼你需要以錯誤的方式使用事情。

在擴展解釋之前,您的問題與抱怨是一致的,爲什麼當您刪除某些內容時,您不能以後再取回它。

+0

一些愚蠢的版本控制系統將文件標記爲只讀,或者有時當文件從另一個來源複製到另一個來源的計算機時,這些屬性被引入 - 而不是由用戶明確設置...我認爲SourceSafe模型寫保護文件是無稽之談。 – Tim 2008-11-19 21:08:45

+0

我不應該翻轉一下或檢出一個文件來修改它。如果我需要了解變化,只有我承諾。 – Tim 2008-11-19 21:09:27

2

我確實在Visual Studio 2010的對話框一樣的東西是不是在措辭徹底清除。 問題(和Winston的解決方案)在Visual Studio 2010中是相同的。因此,在註冊表中設置爲0:

HKEY_CURRENT_USER \ Software \ Microsoft \ Visual Studio \ 10。0 \源控制\ UncontrolledInMemoryEditDialogSuppressed

1

似乎有在玩其他註冊表變量,在相同的註冊表位置...

像以前一樣,找到HKEY_CURRENT_USER \軟件\微軟\的Visual Studio \ 10.0 \源控制\

和復位所有三個:

  • AllowUncontrolledInMemoryEditing
  • AllowInMemoryEditing
  • UncontrolledInMemoryEditDialog Suppppressed

回零。

(這似乎已經採取我自己編譯所有的方式回到「出廠」的行爲。)

1

我有同樣的問題今天發現在工具 - 選擇源控制>選項 - >源代碼控制已經改變。所以......你可能想驗證你所選擇的源代碼管理系統是你期望的。

相關問題