ReSharper是一个JetBrains公司出品的著名的代码生成工具,其能帮助Microsoft Visual Studio成为一个更佳的IDE。它包括一系列丰富的能大大增加C#和Visual Basic.net开发者生产力的特征。使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范围内代码分析,快速代码更正,一步完成代码格式化和清理,业界领先的自动代码重构,高级的集成单元测试方案,和强大的解决方案内导航和搜索。实质上,ReSharper特征可用于C#,VB。net,XML,Asp。net,XAML,和构建脚本。ReSharper还为C#和VB net提供了增强的交叉语言功能,它使开发者可以有效的控制。net混合项目。
其提供如下功能:
1 resharper官网:http://www.jetbrains.com/resharper/
2 resharper上手指南:http://www.cnblogs.com/renji/archive/2007/12/11/resharper.html
3 resharper用户交流与评价:http://www.evget.com/zh-CN/product/2993/NewCommentPage.aspx
4 Visual Studio代码分析重构插件CodeRush和Resharper对比 http://www.evget.com/zh-CN/info/catalog/18152.html
5 ReSharper资源大全:http://software.evget.com/Products/2993/resource.html
用法实例展示
在我看来ReShaper最强大的工具在于Refactor(代码重构)
看两个例子。
有如下的程序:
using System; namespace FunctionalProgramming { class Program { static void Main(string[] args) { var number = int.Parse(Console.ReadLine()); var result = true; for(long i=2;i<number;i++) { if(number%i==0) { result = false; break; } } Console.WriteLine(result); } } }
用ReShaper封装方法操作如下:
结果如下:
using System; namespace RefactorExample { class Program { static void Main(string[] args) { var number = int.Parse(Console.ReadLine()); var result = IsPrime(number);; Console.WriteLine(result); } //Refactor private static bool IsPrime(int number) { var result=true; for (long i = 2; i < number; i++) { if (number%i == 0) { result = false; break; } } return result; } } }
再看一个非常牛的,将for循环转换成LINQ。如下:
using System; using System.Collections.Generic; namespace AHigherCalling { static class Program { static void Main(string[] args) { var number = new [] {3,5,7,9,11,13}; foreach (var prime in number.FindPrimes()) { Console.WriteLine(prime); } Console.ReadKey(); } private static IEnumerable<int> FindPrimes(this IEnumerable<int> values ) { var result = new List<int>(); foreach (var value in values) { if(IsPrime(value)) result.Add(value); } return result; } private static bool IsPrime(int value) { var result = true; for (long i = 2; i < value; i++) { if (value % i == 0) { result = false; break; } } return result; } } }
操作如下:
效果如下:
using System; using System.Collections.Generic; using System.Linq; namespace AHigherCalling { static class Program { static void Main(string[] args) { var number = new [] {3,5,7,9,11,13}; foreach (var prime in number.FindPrimes()) { Console.WriteLine(prime); } Console.ReadKey(); } private static IEnumerable<int> FindPrimes(this IEnumerable<int> values ) { //for循环赚LINQ return values.Where(value => IsPrime(value)).ToList(); } private static bool IsPrime(int value) { var result = true; for (long i = 2; i < value; i++) { if (value % i == 0) { result = false; break; } } return result; } } }
代码是不是Clean了很多?
ReShaper是很有用的工具,只有自己真正去用才能真正体会到它的好处。