ReShaper工具

by admin on 2020年5月1日

在 BUILD 大会上,微软正式对外宣布,JetBrains 已经加入 .NET
基金会。JetBrains
因为用户推荐、ReSharpe、ReSharper
Ultimate 套件等原因,在 .NET 平台投入大量资源。而现在,JetBrains
刚刚发布了跨平台 .NET IDE Project
Rider,致力于让 .NET
开发者拥有最真实的跨平台开发体验,包含了 ReSharper 的特性,可以在
Windows 的 Visual Studio 上使用,也可以在非 Visual Studio 平台,或者是在
Linux 和 OS X 系统上使用。

  ReSharper是一个JetBrains公司出品的著名的代码生成工具,其能帮助Microsoft
Visual Studio成为一个更佳的IDE。它包括一系列丰富的能大大增加C#和Visual
Basic.net开发者生产力的特征。使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范围内代码分析,快速代码更正,一步完成代码格式化和清理,业界领先的自动代码重构,高级的集成单元测试方案,和强大的解决方案内导航和搜索。实质上,ReSharper特征可用于C#,VB。net,XML,Asp。net,XAML,和构建脚本。ReSharper还为C#和VB net提供了增强的交叉语言功能,它使开发者可以有效的控制。net混合项目。

JetBrains 对 .NET 的这个投资是非常有必要的,参与到 .NET
基金会,称为基金会 Technical Steering Group (技术指导小组) 的成员,拥有
3 个席位,可以参与 .NET 重大项目的决策,比如 CoreCLR、Mono、C#、ASP.NET
等等。JetBrains 的目标是为用户提供 .NET
的最佳表现,一个开放,通用,跨平台的 .NET 生态系统。

  其提供如下功能:

.NET 基金会技术指导小组成员当前有 Red Hat,JetBrains 和 Unity。

· 代码分析

澳门新葡亰平台官网,详细情况可以查看  .NET Foundation
博客

  ReSharper可提供对C#, XAML, XML, ASP。NET和ASP。NET
MVC的持续的代码质量分析,甚至在用户对之进行编译以前即可检测到错误和问题。ReSharper可对用户的代码提供900多种代码检验,用户便可即刻
察觉到其当前文件或者甚至整个解决方案中是否包含了错误和故障。

澳门新葡亰平台官网 1

· 高亮显示错误和快速更正

via JetBrains
博客

  ReSharper能在用户输入的时候即对代码进行分析,并高亮显示错误,用户甚至无需进行编译。其甚至能对大部分错误快速给出修改建议,以帮助用户快速解决问题。

文章转载自:开源中国社区 []    

· 先进的代码协助

  ReSharper充分的考虑到了编码的各个方面,以帮助用户提高效率和节省时间。
其不但对Visual
Studio的诸如代码编译之类的原生功能进行了扩展和改进,还可以使得用户通过使用大量的代码模板快速生成代码,在编辑器中查看类型和他们的成员的文
档,使用称为“上下文动作”(context actions)执行代码转换,还有其他更多的。

· 众多的代码重构

  与Visual Studio
2005/2008/2010相比,ReSharper提供了更丰富的自动代码重构功能。用户可使用许多不同的重构方法以进行重命名,移动,安全删除标识;导入和内联字段、变量和参数等等

· 导航和搜索

  无论什么时候你需要查找某个类型,字段,方法,或任何其他的标
识,ReSharper提供了多种实现方法,可以通过名称查找一个标识,在代码从引用位置导航到标识的声明位置,查找并高亮显示标识用法。使用集成到
Visual
Studio用户接口的特别工具窗口,ReSharper可以让你看到完整的类型继承树和文件结构。

· 集成单元测试

  ReSharper自动侦查代码中的单元测试,并提供完整的单元测试支持。你能从代码编辑器中运行和调试测试。同时,会提供一个专用的单元测试资源窗口以让用户看到其单元测试的结果和重新运行单元测试。

·ASP.NET编辑

  利用错误高亮显示,快速修正,上下文动作,代码协助,导航,重构,和其他特征,用户现在可以愉悦而高效的编辑Asp。net文件。使用ReSharper,你可以不受打扰的在Asp。net中编辑和重构C#代码,如Web控件属性和事件,数据源,和内容点位符。

· NAnt和MS Build脚本编辑

  其高级编辑功能之前只针对C#可以用,现在扩展到了NAnt和MSBuild脚本。若用户安装了ReSharper,则只要其在Visual
Studio。NET中打开一个创建的脚本文件,便可立即得到完全代码协助。

· VB功能

  ReSharper for Visual Studio 2005/2008/2010 扩展了其对Visual
Basic代码(包括使用VB编写的ASP页面)的一系列功能。其中包含了ReSharper的所有导航和搜索功能,以及语法高亮,文档快速查找等。其最
大的益处则是对于需要开发混合了C#和VB的项目的。NET开发人员而言的。

· XAML编辑

  有了ReSharper,用户无论是在进行Silverlight, WPF, 或者 Windows Phone
7
开发时,均可获得附加的XAML编辑协助,包括即时代码分析,代码重构,代码生成和调整,以及快速的解决方案范围导航。

 

相关文档及博客资源

1
resharper官网:

2
resharper上手指南:

3
resharper用户交流与评价:

4 Visual
Studio代码分析重构插件CodeRush和Resharper对比

5
ReSharper资源大全:

用法实例展示

在我看来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封装方法操作如下:
澳门新葡亰平台官网 2

 结果如下:

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;
        }
    }
}

操作如下:
澳门新葡亰平台官网 3

效果如下:

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是很有用的工具,只有自己真正去用才能真正体会到它的好处。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图