我尝试使用ReSharper 8.2重构项目中的命名空间。我使用的是Refactor->Adjust Namespaces
选项,这真的非常棒,但是当项目中的文件夹有空格时,它似乎不起作用。有了这个项目结构(在VS中):
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删除这个空间。
答案 0 :(得分:2)
您不能在命名空间中包含空格(即Project.Some Folder.ASubFolder
无效)。
因此无论ReSharper在这种情况下做了什么(例如忽略空格),你最终都会在文件夹结构和名称空间之间产生不匹配。如果文件夹名称包含空格,则完全忽略文件夹名称似乎与任何其他解决方案一样合理。
在文件夹名称中包含空格只会导致您将来遇到其他工具的问题,所以如果可以,最好避免使用。
答案 1 :(得分:2)
我的团队最终解决这个问题的方法是用下划线替换文件夹名称中的空格。
因为Visual Studio约定是在文件夹中存在空格的名称空间中使用下划线,所以任何已使用正确名称空间的类都不必更改。因为空格已经消失,我们可以自由运行ReSharper的修复命名空间,以便为其余的类实现相同的结果。