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

  1. 将类文件移到新文件夹
  2. 打开“查找并replace”
  3. select“在文件中replace”
  4. 在“查找内容”字段中input原始名称空间定义,例如。 MyCorp.AppStuff.Api
  5. 在“replace为”字段中input新的名称空间定义,例如。 MyCorp.AppStuff.Api.Extensions
  6. 使用“查找”字段的浏览button...select新文件夹,或者键入文件夹path
  7. 全部replacebutton

由于上面提供的答案(我猜)这个function已被添加到CodeRush。 只需将“克拉”放置在要移动的“types”上,即可在“重构”中看到“ 移动types到名称空间”选项! 上下文菜单。 这将把types移动到新的名称空间并更新引用。 您可能仍然希望将文件移动到与名称空间名称相匹配的解决scheme文件夹。

如果你很穷,买不起Re $ harper, Notepad ++是你的朋友:

  1. 确保在Visual Studio中不需要更改需要移动到新名称空间的文件
  2. 在Notepad ++中打开包含需要更改的名称空间的所有文件
  3. 打开查找和replace (CTRL + H)
  4. 填写查找内容和replace字段
  5. 全部replace全部打开的文档
  6. 保存所有文档中的所有更改(CTRL + SHIFT + S)
  7. 切换到Visual Studio,并重新加载所有的文件(在提示是全部

DONE

使用Resharper: CTRL + R + O

然后按向下箭头键两次以select移动到另一个命名空间的types