(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)
题记:Refactoring Essentials是一款用于代码分析和重构的开源免费VS2015插件,其功能丰富强大,必然会成为类似Web Essentials这样的必备插件。
之前由SharpDevelop团队开发且用于SharpDevelop这个开源IDE中的重构插件“NR6Pack”改名为“Refactoring Essentials”,被Hanselman称之为对“Web Essentials”的一种致意(通过“阅读原文”来查看Hanselman的介绍文章),而我认为这个插件也会如“Web Essentials”那样成为Visual Studio 2015上的必备插件之一。
因为它具有如下重构功能(http://vsrefactoringessentials.com/Features/Refactorings-CSharp):
- 提示你添加字典中的键是否存在的代码
- 提示你有计算常量的数学表达式存在
- 提示你把枚举位比较转换为使用Enum.HasFlag方法
- 提示你把数据类型的直接转换改为安全转换(使用as关键字)
- 提示你把While循环改为DoWhile循环
- 从基类中负责注释
- 创建ChangedEvent
- 把Switch转换为If
同时也带来如下代码分析功能(http://vsrefactoringessentials.com/Features/Refactorings-CSharp):
- 使用数组初始化器代替数组创建代码
- 把闭包转换为方法组
- 把条件三元操作符转换为空值连接符
- 把If判断转换为Or表达式
- 提供nameof关键字的使用建议
- 检查文本无法解析的情况
- 简化条件三元操作表达式
上面的重构功能和分析功能只是部分例举,其实这个插件一共提供了71项重构功能和73项分析功能。另外,“Refactoring Essentials”之所以有这么多的功能,完全得益于Roslyn强大代码分析的基础功能。