2014-10-06 142 views
0

我試圖重構的命名空間在我與ReSharper的8.2項目。我使用的是Refactor->Adjust Namespaces選項,這非常棒,但當項目中的文件夾中有空格時,它似乎不起作用。有了這個項目結構(VS):ReSharper的調整/重構命名空間沒有用空格尊重夾

Project 
    | 
    |-Some Folder 
     | 
     |-ASubFolder 
      | 
      |-CodeFile.cs 

我在CodeFile.cs新的命名空間將Project.ASubFolder,而如果我有這樣的結構

Project 
    | 
    |-SomeFolder 
     | 
     |-ASubFolder 
      | 
      |-CodeFile.cs 

該命名空間適當地重新命名爲Project.SomeFolder.ASubFolder。我已檢查所有文件夾上設置了Namespace provider屬性。如何強制R#在重構時使用包含空格的文件夾?

編輯:在第一種情形下我的預期輸出是Project.SomeFolder.ASubFolder。我想ReSharper只是刪除空間。

+1

我實際上會期待'Project.Some_Folder.ASubFolder',因爲這是在向文件夾添加新項目時在Visual Studio中使用的默認名稱空間。 – 2014-10-30 18:57:46

+0

是的,即使這是有效的。只是一起刪除名稱不是行爲國際海事組織。 – Brandon 2014-10-31 16:55:31

回答

2

你不能在一個命名空間中的空間(即Project.Some Folder.ASubFolder將是無效的)。

所以,無論ReSharper的在這種情況下(如忽略空格),你最終會與你的文件夾結構,您的命名空間之間的不匹配一樣。如果文件夾名稱中包含空格,則完全忽略文件夾名稱與其他解決方案一樣合理。

已經在文件夾名稱中使用空格只是要引起未來,如果你能這樣,最好避免你與其他工具的問題。

+0

我知道我在名稱空間中不能有空格。對於頂部和底部場景,我對輸出的期望是'Project.SomeFolder.ASubFolder'。我希望R#在重構時刪除空間。 – Brandon 2014-10-07 12:30:48

+1

顯然你對這個未定義行爲的期望與R#的設計者不同。 – 2014-10-07 12:46:52

+0

這就是爲什麼我問這個問題。其實這就是爲什麼大多數人會提出問題的原因:「這發生了,我該如何解決它?」。 – Brandon 2014-10-07 14:06:15

2

的工作,在我的團隊結束了使用這個問題是要替換空格用下劃線文件夾名稱。

因爲Visual Studio約定是在文件夾中存在空格的名稱空間中使用下劃線,所以已經使用正確名稱空間的任何類都不必更改。由於空間消失了,我們可以自由運行ReSharper的修復命名空間來爲其餘類實現相同的結果。