2010-10-28 50 views
0

可能重複:
What's the best way to do a bulk namespace rename on a large c# application?重構在溶液中的命名空間

,我改變了默認的命名空間爲我的解決方案項目。 我可以使用Resharper來調整一個項目中的命名空間。 但我正在尋找一些可以調整整個解決方案中的命名空間的工具。 我正在使用VS2008親。是否有refacotring工具,可以調整我的解決方案的所有項目中的名稱空間? (這是解決方案中的大約60個項目!疼痛!)

+1

我想你需要添加一些語言特定的標籤 – 2010-10-28 18:49:02

+1

Resharper將重構整個解決方案。如果我更改命名空間,它將在整個解決方案中更改它,而不僅僅是一個項目 – 2010-10-28 18:53:40

+0

@Mike:嗯..我會再試一次...將會很棒 – Bohn 2010-10-28 18:54:38

回答

2

重構一個名稱空間可在ReSharper的工作......你要重命名的命名空間中單擊鼠標右鍵,挑refactor->refactor this,然後選擇rename namespace在編輯器中的小型彈出窗口。 I.E namespace myproj.data { - 右鍵單擊​​'數據'

選擇一個新名稱,單擊'下一個',並且Resharper將在整個應用程序中重命名命名空間。

你也可以右鍵單擊並選擇refactor->rename ...我已經測試了兩個,他們都工作。

+1

這實際上是Visual Studio中的一項內置功能,它似乎在所有使用相同名稱空間的項目中重命名。您也可以在製作文件之前預覽對文件所做的更改。 – 2010-10-29 16:09:09

1

查找和替換?
有多少個項目?你不能只做每個項目嗎?這不像你必須不止一次這樣做,對吧?

+0

耶!但這意味着對於這60個項目中的每一個,運行「查找替換」59次! – Bohn 2010-10-28 18:51:48

+1

查找和替換可以在整個解決方案中工作。將「查找」更改爲「整個解決方案」。 – 2010-10-28 18:52:45

1

R#有一個選項Adjust Namespaces。

右鍵點擊解決方案。然後從上下文菜單中重構,並單擊「調整命名空間......」

+0

是的,我做到了。當我在解決方案上運行它時,沒有對話框彈出,但是當我在每個項目上執行時,會彈出adjsut命名空間。 – Bohn 2010-10-28 18:58:17

+1

你說得對,它適用於項目內的項目和文件夾,但不適用於解決方案。至少你不必爲每個文件獨立完成。 – Vadim 2010-10-28 19:06:21

+0

OP已經提到他們可以做到這一點。 – 2010-10-28 19:15:19