Resharper4.5:增强你的.net开发

Resharper4.5:增强你的.net开发

介绍

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

如果你有兴趣,可以在ReSharper关键特征找到更多的说明。

关于ReSharper 4.5

我们刚刚发布期待已久的ReSharper 4.5!

除了增强原来版本的ReSharper特性外,我们把焦点转移到性能和内存的使用上。当开发ReSharper4.5时,使这个工具更加敏捷,健壮和响应迅速是我们主要的目标。面对为开发人员提供一个生产力增强工具的挑战,我们重点是要提供强劲的性能。很明显,ReSharper4.54.1加载解决方案速度提高了30%,搜索常用成员的速度是4.1的二倍,在输入时的智能协助方面大约节约45%的时间。在进行大文件分析时的内存消耗也有很大的减少,这会让Asp.netLinq to sql的开发者从中受益。总之,Resharper在没有降低响应速度的情况下,提供了比以往更广泛的增强。

ReSharper 的性能提升

ReSharper Performance Improvements

ReSharper 4.5同时也带来了大面积的改进和明显的性能提升。

l         新的解决方案范围的警告和建议:在整个解决方案内在空闲时间分析非私有类型和类型成员。

l         Visual Basic 9支持:ReSharper交叉语言重构和编辑经验增强现在支持VB9代码,包括可变类型本地变量,对象初始化,匿名类型,扩展方法等。

l         改良的命名转换机制:现在你可以为不同的语言和标识定义自己的命名风格框架,并使用你特定的代码方针让ReSharper完成和生成代码。

l         新的内嵌字段重构和既有重构生产力增强。

l         转到实现:从一个基本类型的引用或成员直接转到它的任意直接实现,忽略中间的抽象类和/或接口。

要得到新的,更快的ReSharper从这下载

ReSharper关键特性

C# 3.0深度分析

ReSharper对整个解决方案分析你的代码听错误和警告,并时实时的(当你输入时)高亮显示它们。对大多数错误,它立即通过智能修正给出解决问题的方法。它也可以给出编码建议和线索,这些东东提供洞察代码结构和逻辑,并使引起你对潜在的设计错误注意。你也可以注释你代码以使ReSharper更好的分析你的代码。

ReSharperC#3.0提供了全面的支持,包括LINQ,隐式类型本地变量和数组,扩展方法,自动属性,lambda表达式,对象和集合的初始化,匿名类型,表达式树,和部分方法。无论什么时候如果在你的代码中有错误或无效代码,ReSharper会立即让你知道。

的C#代码分析

高级代码协助

ReSharper提供许多简化代码任务的快捷方式以提高你的生产力和节省你的时间。在上面的截屏中,ReSharper智能的建议你添加遗漏的using或在你输入类型名称时导入正确的全名。它可以使用不同的代码模板快速的生成代码,在编辑器中查看类型和他们的成员的文档,使用称为“上下文动作”(context actions)执行代码转换,还有其他更多的。

ReSharper使用三种代码完成类型来扩展和提高Visual Studio本身的智能化。标识完成建议只存取在当前作用域的类型。智能完成任务非常有效,实时过滤成员方法和变量以匹配你输入的表达式。导入符号完成,使在当前项目中完成类型名名称和扩展方法成为可能。它也在需要的时候自动添加适当的using引用。另外还有语句完成,使用一个简单的快捷键就可以自动添加必要的语法元素(大括号,分号等),并把光标放置到适当的位置以开始下一句。

的ReSharper的高级代码协助

众多的代码重构

Visual Studio环境下,ReSharperC#Visual Basic提供了丰富的自动代码重构功能。

更改签名

拷贝类型

使方法为非静态(非共享)

把抽象类改为接口

封装字段

使方法为静态(共享)

把匿名类型转换为命名类型

从参数中抽取类

移动静态成员

转换扩展方法为简单静态方法

抽取接口

把类型移动到另一个文件或命名空间

转换索引(默认属性)为方法

抽取方法

把类型移动到外层

转换接口为抽象类

抽取超类

把成员拉到基类

转换方法为索引(默认属性)

内联方法

把成员放到子类

转换方法为属性

内联变量/字段

重命名

转换属性为自动属性

引入字段

用工厂方法替换构造函数

转换属性为方法

引入参数

安全删除

转换静态方法为扩展方法

引入变量

如果可能尽量使用基类

每一个代码重构都要分析选择的所应用的整个范围(这可能是你的整个解决方案),包括交叉语言代码,用这种洞察力以可能最智能化的方式修改代码结构。可以重命名,移动,安全删除标识;导入和内联字段、变量和参数;转换属性为自动属性和方法,转换静态方法为扩展方法,等等。另外,使用快速修正和上下文动作,使各种简单代码转换(只是为了方便和可用)成为可能。

译注:这里内联是指把在外面定义的变量或方法的方法体直接嵌入到使用的代码中。

关于使用ReSharper重构C#VB.net代码的内容

导航和搜索

无论什么时候你需要查找某个类型,字段,方法,或任何其他的标识,ReSharper提供了多种实现方法,可以通过名称查找一个标识,在代码从引用位置导航到标识的声明位置,查找并高亮显示标识用法。可以在当前位置使用简单的快捷方式实现所有可用的导航行为。

另外,使用集成到Visual Studio用户接口的特别工具窗口,ReSharper可以让你看到完整的类型继承树和文件结构。

ReSharper对最近编辑扩展了一系列的导航和搜索的特性你最近修改的文件或标识的下拉列表。

的导航和搜索

代码清理

代码清理是一个数十个ReSharper特性的快捷方式(Code Cleanup is a shortcut for a dozen of ReSharper features),根据自定的风格格式化代码,排列“this”限定词,移除冗余的代码,根据候补字段转换成自动属性,把字段置为只读,优化using命令,适当的简化引用,更新文件头,使用vars替换显式类型,或使用更多的设置修改你的C#代码。

VB.net,优化import命令,适当的简化引用,根据格式风格格式化你的代码。可以在批模式下进行代码清理工作,所以可以即刻对整个项目甚至解决方案进行清理。

关于代码清除内容

交叉语言功能

为了混合C#VB.net项目,ReSharper帮助你保持代码的各个部分在一起流畅的工作和在你的代码间轻松的导航。

所有导航和搜索动作把所有语言的代码都考虑在内,包括C#VB.netAsp.net,和XAML。你可以导航到使用,声明,继承,基类和更多交叉语言。无论何时只要可能,都会由使用重构、上下文动作、或覆盖两个主要语言的快速修改进行自动引用修正。单元测试是可用的,并且无论使用C#VB.net写单元测试都是一样的用。

的ReSharper交叉语言功能

ASP.net支持

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

的Asp.net支持

XML支持

ReSharper提供了一些省时的XML特征,包括类型完成,导航到引用类型,高亮显示,替换和移动标签,在两个标签之间导航和打开/关闭标签,使用代码协助和活模板。

的XML支持

XAML支持

XAML特征包括XAML代码中的XML编辑,所有的ReSharper代码完成特征,几个重构(包括重命名重构),和实时错误提示,语义和语法分析。上面的截屏中显示在XAML资源中的敏捷的代码完成工作。

的XAML支持

集成单元测试

ReSharper自动侦查代码中的单元测试,并提供完整的单元测试支持。你能从代码编辑器中运行和调试测试。同时,一个专用的单元测试资源窗口会让你看到你的单元测试的结构和运行一个或多少单元测试会话的任意组合测试。

的ReSharper单元测试

NAntMS Build脚本编辑

高级编辑性能(Advanced editing capabilities),之前只针对C#可以用,现在扩展到了NAntMSBuild脚本,为生成脚本提供了完整的代码协助,大量的导航和搜索特征,文件结构,实时错误高亮显示和快速修改。

的NAntMS Build脚本编辑内容

要得到完成的ReSharper特征说明,请浏览ReSharper特征页。

为什么选择ReSharper

包含对C# 3.0Visual Basic.netXMLXAMLAsp.net空前的支持,包含完成的交叉语言功能,ReSharper确信为Visual Studio开发者提供了比之前更高的满意度。

 

本工具可以减少你在常规事务和重复的手工劳动上消耗的时间,让你有更多的时间把精力集中在现有的任务上。它众多的自动错误检查和代码更正特征可减少开发时间,提高你的工作效率。你会发现ReSharper很快就会用提高开发效率和提升代码质量抵偿其购买费用。使用ReSharper.net开发者就会体验到什么是“愉快的开发”。

马上下载ReSharper4.5

授权

关于作者

JetBrains s.r.o.


Member

Location: Russian Federation Russian Federation

 原文:http://www.codeproject.com/KB/showcase/ReSharper4_5.aspx

 

转载于:https://www.cnblogs.com/mickeychang/archive/2009/04/11/1433430.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis collection_MyBatis之关联查询

前言我们进行数据库查询时往往需要的不止一张表的数据,需要将多张表的数据一起查询出来,大家学习过数据库的连接查询,那么在MyBatis中如何将有关系的多张表数据进行关联查询呢。表的结构商品和订单是典型的一对多关系,下面的案例我…

mysql如何优化性能优化_如何优化性能?MySQL实现批量插入以优化性能的实例详解...

这篇文章主要介绍了MySQL实现批量插入以优化性能的教程,文中给出了运行时间来表示性能优化后的对比,需要的朋友可以参考下对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据…

不支持对系统目录进行即席更新_「目录」让你的文档结构一目了然

很多时候,要求文档要有目录,比如书籍/杂志/论文/标书等等。目录可以让文档结构一目了然。如果不了解 Word (包括 Microsoft Office 和 WPS Office 下的Word)操作,目录的各标题及对应页码可能是手动一个一个码上去。其实…

合成/聚合原则: 桥接模式

假想场景:hp和apple是全球知名的电脑生产厂家,起初他们各自的电脑操作系统分别是linux和macintosh,microsoft是软件行业的龙头。为了吸引更多客户购买电脑,hp和apple请ms为他们开发两款最常用的软件,办公软件和及时通讯…

java查看jdk源码_Java-如何查看JDK源码

一、引言学习Java和使用Java的小伙伴都必须要看的懂Java的开发文档,然而,开发文档只是开发者对Java代码的功能做出简略的说明,它只是告诉你这个类能干嘛,并没告诉你这个类怎么干,所以,阅读Java源码是每个开…

arrays中copyof复制两个数组_数据结构与算法(3)数组

前言数组(Array)是一种线性表数据结构,利用一组连续的内存空间,存储一组具有相同类型的数据。概念介绍首先我们说一下什么是线性表,线性表就是数据排成一条线的数据结构,每个线性表最多只有前和后两个方向,数组、链表、…

java做的一个将中文转换成Unicode码的工具类【转载】做个标记,明天研究下

这两天在使用RBManager(一个开源工具,用于多国化字符转化)工具的时候觉得很不方便,有的时候只需要知道中文对应的unicode码是多少,不需要这么麻烦的操作,所以就自己写了一个工具,专门用于将中文…

unity game和scene效果不一样_KTV装修设计:如何让消费者体验到不一样的KTV娱乐效果...

现代KTV装修设计要尽显奢华与高贵,但起到吸引消费者的却是浓烈的欢快氛围和愉悦的歌唱体验.KTV想要有一个好的装修效果,需要了解各方面的细节问题.下面怡元小编讲述如何设计能让消费者体验到不一样的KTV娱乐效果?1、氛围设计在KTV装修设计中,氛围设计非常考究,尤其是消费者进入…

feather 设置坐标刻度_Matlab中将坐标轴放在原点位置

转载一篇文章,原文链接:https://blog.csdn.net/xiaobiyin9140/article/details/84519419​blog.csdn.net需求使用matlab画图:设置y轴位置,使y轴在x轴的中间示例画一个sigmoid函数MATLAB代码x-10:0.1:10; ysigmf(x,[1 0]); plot(…

hana数据库导入mysql_【SAP HANA】新建表以及操作数据(3)

账号和数据库都创建好之后,接下来就可以创建表了。来见识一下这个所谓“列式”存储方式的表是长啥样的!一、可视化新建表然后输入所需栏位,设置好类型和长度:上图右上角可以看到类型是Column Store,代表列式存储&#…

(转)Asp.net 中 Get和Post 的用法

单form的提交有两种方式&#xff0c;一种是get的方法&#xff0c;一种是post 的方法.看下面代码,理解两种提交的区别: <form id"form1" method"get" runat"server"> <div> 你的名字<asp:TextBox ID"name" ru…

matlab lu分解求线性方程组_计算方法(二)直接三角分解法解线性方程组

封面是WH2里春希在编辑部的上司麻理前辈&#xff0c;有一说一&#xff0c;这条线的第一次H有点恶趣味&#xff0c;不是很喜欢。一&#xff1a;概述矩阵分解我学过的挺多种&#xff0c;比如极分解&#xff0c;谱分解&#xff0c;满秩分解&#xff0c;正交三角分解还有这里的直接…

html弹出保存文件对话框_有没有遇到过CAD文件损坏或打不开的情况?养成这个习惯很重要...

经常使用CAD制图&#xff0c;难免会遇到CAD文件损坏或者打不开的情况&#xff0c;遇到这种情况&#xff0c;我们会想尽办法来恢复文件&#xff0c;而最有效的办法之一就是从备份文件中恢复我们的图形&#xff0c;因此在制图过程中&#xff0c;我们应养成备份的好习惯&#xff0…

linux java uml_简单实用UML关系图解

一句话UML&#xff0c;再记不住就要DPP了&#xff1a;关系图解代码备注1&#xff1a;继承关系(Generalization)2&#xff1a;实现关系(Realization)3&#xff1a;依赖关系(Dependency)方法的参数、局部变量、返回值4&#xff1a;关联关系(Association)互为类属性5&#xff1a;方…

linux scrapy 定时任务_Linux定时任务给心爱的小姐姐发情书

计划任务基本概述什么是crond?crond就是计划任务&#xff0c;类似于我们平时生活中的闹钟&#xff0c;定点执行。为什么要用crond?计划任务主要是做一些周期性的任务&#xff0c;比如: 凌晨3点定时备份数据。或11点开启网站抢购接口&#xff0c;12点关闭抢占接口。计划任务主…

初中文化能学编程吗_网页编程课程来了,确定不来pick一下!!!|科创辅学进行时...

KE CHUANG FU XUE科创辅学天天用手机&#xff0c;各种app 半夜不睡觉&#xff0c;只会网上浪醒醒&#xff0c;少年&#xff0c;别玩了不要再搞这些花里胡哨的东西了&#xff01;要学会用魔法打败魔法上一周&#xff0c;我们跟着夏老师学习了Arduino单片机编程基础这一周开源软…

ffmpeg检测文件是否损坏_教你一招如何检测硬盘,让你知道硬盘是否有损坏?还有几天寿命?...

8月底的南方小城镇依然非常炎热&#xff0c;临近下班&#xff0c;坐上我的敞篷座机-电动小毛驴&#xff0c;正准备开启兜风模式&#xff0c;美-女同-事小莉叫住了我&#xff0c;说她家里的电脑这几天老是蓝屏&#xff0c;让我去帮她看看。美-女有-约&#xff0c;怎么能忍心拒绝…

动态规划算法练习题

45. 跳跃游戏 II 中等 2K 相关企业 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i] i j &…

python 画折线图_Python让你的数据生成可视化图形

ID&#xff1a;pk哥公众号&#xff1a;Python知识圈最近的技术分享被老板说了&#xff0c;分享内容不错&#xff0c;可是这些统计图差了点。作为一个做技术的&#xff0c;这是不能忍受的。因为 Python 除了不会生孩子&#xff0c;其他的都会。直接进入今天的正题&#xff0c;Ec…

如何清理不必要的事件日志分类

在我们的计算机上面&#xff0c;经常安装一些重要的软件的话&#xff0c;可能会在事件查看器中遗留一些东西。有些软件会创建自己的事件日志类型&#xff08;或者称为分类更合适&#xff09;&#xff0c;但可能在删除的时候忘记清理。如下面所示 那么如何才能清理掉他们呢&…