大家常有需要重构代码的时候,如果只是简单的修改某个类的命名空间,这个操作很简单。但如果一个解决方案包含20+的项目,每个项目中又包含100+的类文件,现在需要统一修改命名空间中的某个单词或词组,要如何解决?

如果要快速实现这个功能,就必须依赖第三方插件,我推荐使用Resharper这款重构利器:

2010-4-26 14-36-49

现在最新版本的Resharper是5.0的,安装了Reshaper后重启VisualStudio,打开待重构的解决方案,选择一个类,它的命名空间为NetCMS.xxx,我们试试想修改为GoldSoft.xx,先选择namespace 的NetCMS.Global,右击鼠标,弹出窗口中发现Refactor选项无法使用。

2010-4-26 14-39-26

悲剧……怎么办?查询Resharper的官方网站得知本插件完全可以对命名空间重命名,但帮助文档写得很简单,没有说明如何处理。我们只有再自己想办法了,打开VisualStudio的类视图界面,可以看到每个项目下所用代码的命名空间。

2010-4-26 14-40-05

在我们想改名的命名空间上右击鼠标,完美!这下Rename选项是可以用的了

2010-4-26 14-40-34

  点击“Rename”选项后会弹出供输入新命名空间的窗体,我们在此输入新的命名后点击“Next”按钮

2010-4-26 14-41-10

Resharper开始重新查找整个项目中对此命名空间的引用并自动重命名,注意,这张截图是我截取2次才取到的,所以项目名已经不一样了

2010-4-26 14-44-46

重命名成功后,就能看到指定项目下的命名空间已全部被修改

2010-4-26 14-43-49 

逐个修改后重新生成下解决方案,一般来说是不会有什么问题的,至此重命名命名空间的任务就算完成了。

P.S. 请勿用此方法将开源软件据为己有,以上操作仅为学习说明之用。

posted on 2010-04-26 15:55  田老师  阅读(1968)  评论(3编辑  收藏  举报