Visual Studio:有没有“移动类到不同的命名空间”重构?
我正在做一些架构清理,涉及将一堆类移动到不同的项目和/或名称空间。 目前我正在手动移动文件,编译,然后根据需要手动添加使用Foo语句来解决编译错误。 任何人都知道这样做更聪明的方法? (我们是CodeRush和Refactor!店,但是如果Resharper支持这个,我会很感兴趣的)
Resharper是我知道有这种能力的唯一工具。 在CodeRush和Refactor中还有很多其他的function。
Visual Studio 2010可以重命名一个名称空间。 将光标放在名称空间名称上并按F2 。 或者直接在代码中重新命名,然后按下Shift + Alt + F10 ,看到红色的波形出现后进入 。
Reharper也可以重命名命名空间 。 引用:
重命名命名空间重构允许用户重命名特定的命名空间,并自动更正对代码中命名空间的所有引用。 以下用法被重新命名:
- 命名空间语句
- 使用指令
- types的合格名称
这个答案至less适用于Visual Studio 2013和2015 ,不需要resharper
- 将类文件移到新文件夹
- 打开“查找并replace”
- select“在文件中replace”
- 在“查找内容”字段中input原始名称空间定义,例如。
MyCorp.AppStuff.Api
- 在“replace为”字段中input新的名称空间定义,例如。
MyCorp.AppStuff.Api.Extensions
- 使用“查找”字段的浏览button...select新文件夹,或者键入文件夹path
- 按全部replacebutton
由于上面提供的答案(我猜)这个function已被添加到CodeRush。 只需将“克拉”放置在要移动的“types”上,即可在“重构”中看到“ 移动types到名称空间”选项! 上下文菜单。 这将把types移动到新的名称空间并更新引用。 您可能仍然希望将文件移动到与名称空间名称相匹配的解决scheme文件夹。
如果你很穷,买不起Re $ harper, Notepad ++是你的朋友:
- 确保在Visual Studio中不需要更改需要移动到新名称空间的文件
- 在Notepad ++中打开包含需要更改的名称空间的所有文件
- 打开查找和replace (CTRL + H)
- 填写查找内容和replace字段
- 按全部replace全部打开的文档
- 保存所有文档中的所有更改(CTRL + SHIFT + S)
- 切换到Visual Studio,并重新加载所有的文件(在提示是全部 )
DONE
使用Resharper: CTRL + R + O
然后按向下箭头键两次以select移动到另一个命名空间的types 。