2010-04-02 28 views
2

我正在類庫中工作,並且還有與同一解決方案相關的其他源項目。 有沒有辦法讓我停止VS重構工具遍歷其他項目,而不將它們從解決方案中移除,但保持一切?我可以阻止Visual Studio在當前項目之外進行重構嗎?

我問的原因是因爲我經常知道其他項目中不存在已更改的符號,重構需要很長時間才能查看解決方案中的所有項目。特別是如果解決方案中存在笨拙的網站項目。

回答

0

(跑出的評論空間,所以我在寫一個完整的答案,而不是...)

@丹:我覺得根本需要是很常見的:我們要重構(和所有其他計算機操作)出現即時*。每當這裏出現明顯的延遲時,我們希望事情變得更快,我們開始尋找方法來實現這一目標。

C#的內置重構可能很慢的原因之一是我們故意選擇正確性而不是性能。我們知道,我們的一些用戶會沉迷於TDD,他們將能夠在自動重構過程中檢測並恢復錯誤,但是許多用戶會受到我們實施的擺佈。我們認爲,如果您知道我們可能會出現重構錯誤,您會越來越懷疑並停止使用該工具。所以,我們花時間對重構進行詳細驗證。 (還有其他原因,並且有可能做快速,可靠的重構,但運輸也是一項功能。)

在這種情況下@jdk想要告訴Visual Studio「嘿,別擔心這些項目,我會接受錯過重要事情的風險「。恐怕沒有辦法做到這一點。

你沒有說你正在使用哪個版本的Visual Studio。我非常確定團隊一直在不斷改進這些工具的性能,因此您可能想查看VS 2010 RC(http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx),看看情況是否更好。

一些第三方重構工具更快。我沒有仔細觀察,但我確定有些人採用簡單的方法來表現,在某些情況下犯錯,而其他人則更可靠。謹慎選擇。

*每當有人問我「這足夠快嗎?」我問過「用戶是否會注意到延遲?」如果是,那麼他們會更快地喜歡它。任何延遲都是令人失望的,就像缺少的功能或錯誤一樣。我們的工作是決定何時該做出更多改變以及何時出貨。

0

不使用默認的重構工具,沒有。您需要創建一個僅包含一個項目的新解決方案(只需直接打開proj文件即可),在該上下文中執行重命名,然後返回到原始的多項目解決方案。

+0

我對此「感到害怕」。我希望有一個更易於管理的解決方案。例如,如果VS有「重構集」,那將會很不錯。程序員會將多個選擇項目添加到一個集合中,並且可以爲任何啓動的重構任務選擇一個集合。 – 2010-04-02 21:10:05

+0

我認爲這是一個非常不尋常的需求。通常人們都在試圖獲得所有的參考資料,而不是試圖「離開」破碎的參考資料。即使Resharper,它可能具有任何.NET開發人員工具中最好的重構功能,但不支持這種「部分重構」。 – 2010-04-02 21:50:21

+0

順便說一句,既然你的主要投訴是速度,你應該嘗試Resharper。如果您啓用完整解決方案解析,那麼它將構建一個非常全面的解決方案範圍符號索引,使其能夠非常快速地進行重構,而無需使用VS重構命令使用的完整搜索。缺點是它是一個相當昂貴的商業插件。 – 2010-04-02 21:52:58

相關問題