我正在做一些架构清理,涉及将一堆类移动到不同的项目和/或命名空间.目前我正在手动移动文件,构建,然后根据需要手动添加使用Foo语句来解决编译错误.有人知道这样做的更聪明的方法吗?(我们是CodeRush和Refactor!商店,但我很想知道Resharper是否支持这个)
Visual Studio 2010可以重命名命名空间.将光标放在命名空间名称上,然后按F2.或者只是在代码中重命名并按下Shift+ Alt+ F10,Enter看到红色波形出现后.
Reharper还可以重命名名称空间.引用:
在重命名命名空间重构,用户可以重命名一个特定的命名空间,并自动修正到代码中的命名空间的所有引用.以下用法重命名为:
命名空间语句
使用指令
类型的合格名称
Resharper是我知道具备这种能力的唯一工具.CodeRush和Refactor中还缺少许多其他功能!
Visual Studio 2019提供至少2个内置选项:
可以在任何类上触发“移至名称空间...”重构,VS会提示您输入目标名称空间。
当前文件名称空间与文件夹结构不匹配时,提供“将名称空间更改为...”重构。
这可用于通过以下方式将各个类移至其他名称空间:
创建所需的文件夹结构
移动文件
应用提到的重构(使用光标在名称空间上的CTRL +。)
这些操作确保所有引用都相应更新。
此答案适用于至少Visual Studio 2013和2015 ,不需要resharper
将类文件移动到新文件夹
打开'查找并替换'
选择"替换文件"
在"查找内容"字段中键入原始命名空间定义,例如.MyCorp.AppStuff.Api
在"替换为"字段中键入新的命名空间定义,例如.MyCorp.AppStuff.Api.Extensions
使用"查找范围"字段的"浏览"按钮选择新文件夹...,或键入文件夹路径
按Replace All按钮