Resharper4.5:增强你的.net开发
2011-09-28 10:25 elivsit 阅读(282) 评论(0) 编辑 收藏 举报介绍
无庸置疑,ReSharper是最智能化的微软Visual Studio插件。它包括一系列丰富的能大大增加C#和Visual Basic.net开发者生产力的特征。使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范围内代码分析,快速代码更正,一步完成代码格式化和清理,业界领先的自动代码重构,高级的集成单元测试方案,和强大的解决方案内导航和搜索。实质上,ReSharper特征可用于C#,VB.net,XML,Asp.net,XAML,和构建脚本。ReSharper还为C#和VB.net提供了增强的交叉语言功能,它使开发者可以有效的控制.net混合项目。
如果你有兴趣,可以在ReSharper关键特征找到更多的说明。
关于ReSharper 4.5
我们刚刚发布期待已久的ReSharper 4.5!
除了增强原来版本的ReSharper特性外,我们把焦点转移到性能和内存的使用上。当开发ReSharper4.5时,使这个工具更加敏捷,健壮和响应迅速是我们主要的目标。面对为开发人员提供一个生产力增强工具的挑战,我们重点是要提供强劲的性能。很明显,ReSharper4.5比4.1加载解决方案速度提高了30%,搜索常用成员的速度是4.1的二倍,在输入时的智能协助方面大约节约45%的时间。在进行大文件分析时的内存消耗也有很大的减少,这会让Asp.net和Linq to sql的开发者从中受益。总之,Resharper在没有降低响应速度的情况下,提供了比以往更广泛的增强。
ReSharper 的性能提升
ReSharper 4.5同时也带来了大面积的改进和明显的性能提升。
l 新的解决方案范围的警告和建议:在整个解决方案内在空闲时间分析非私有类型和类型成员。
l Visual Basic 9支持:ReSharper交叉语言重构和编辑经验增强现在支持VB9代码,包括可变类型本地变量,对象初始化,匿名类型,扩展方法等。
l 改良的命名转换机制:现在你可以为不同的语言和标识定义自己的命名风格框架,并使用你特定的代码方针让ReSharper完成和生成代码。
l 新的内嵌字段重构和既有重构生产力增强。
l 转到实现:从一个基本类型的引用或成员直接转到它的任意直接实现,忽略中间的抽象类和/或接口。
要得到新的,更快的ReSharper,从这下载
ReSharper关键特性
C# 3.0深度分析
ReSharper对整个解决方案分析你的代码听错误和警告,并时实时的(当你输入时)高亮显示它们。对大多数错误,它立即通过智能修正给出解决问题的方法。它也可以给出编码建议和线索,这些东东提供洞察代码结构和逻辑,并使引起你对潜在的设计错误注意。你也可以注释你代码以使ReSharper更好的分析你的代码。
ReSharper对C#3.0提供了全面的支持,包括LINQ,隐式类型本地变量和数组,扩展方法,自动属性,lambda表达式,对象和集合的初始化,匿名类型,表达式树,和部分方法。无论什么时候如果在你的代码中有错误或无效代码,ReSharper会立即让你知道。
高级代码协助
ReSharper提供许多简化代码任务的快捷方式以提高你的生产力和节省你的时间。在上面的截屏中,ReSharper智能的建议你添加遗漏的using或在你输入类型名称时导入正确的全名。它可以使用不同的代码模板快速的生成代码,在编辑器中查看类型和他们的成员的文档,使用称为“上下文动作”(context actions)执行代码转换,还有其他更多的。
ReSharper使用三种代码完成类型来扩展和提高Visual Studio本身的智能化。标识完成建议只存取在当前作用域的类型。智能完成任务非常有效,实时过滤成员方法和变量以匹配你输入的表达式。导入符号完成,使在当前项目中完成类型名名称和扩展方法成为可能。它也在需要的时候自动添加适当的using引用。另外还有语句完成,使用一个简单的快捷键就可以自动添加必要的语法元素(大括号,分号等),并把光标放置到适当的位置以开始下一句。
众多的代码重构
在Visual Studio环境下,ReSharper为C#和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.net,Asp.net,和XAML。你可以导航到使用,声明,继承,基类和更多—交叉语言。无论何时只要可能,都会由使用重构、上下文动作、或覆盖两个主要语言的快速修改进行自动引用修正。单元测试是可用的,并且无论使用C#或VB.net写单元测试都是一样的用。
ASP.net支持
利用错误高亮,快速修正,上下文动作,代码协助,导航,重构,和其他特征,你现在可以愉悦而高效的编辑Asp.net文件。使用ReSharper,你可以不受打扰的在Asp.net中编辑和重构C#代码,如Web控件属性和事件,数据源,和内容点位符。
XML支持
ReSharper提供了一些省时的XML特征,包括类型完成,导航到引用类型,高亮显示,替换和移动标签,在两个标签之间导航和打开/关闭标签,使用代码协助和活模板。
XAML支持
XAML特征包括XAML代码中的XML编辑,所有的ReSharper代码完成特征,几个重构(包括重命名重构),和实时错误提示,语义和语法分析。上面的截屏中显示在XAML资源中的敏捷的代码完成工作。
集成单元测试
ReSharper自动侦查代码中的单元测试,并提供完整的单元测试支持。你能从代码编辑器中运行和调试测试。同时,一个专用的单元测试资源窗口会让你看到你的单元测试的结构和运行一个或多少单元测试会话的任意组合测试。
NAnt和MS Build脚本编辑
高级编辑性能(Advanced editing capabilities),之前只针对C#可以用,现在扩展到了NAnt和MSBuild脚本,为生成脚本提供了完整的代码协助,大量的导航和搜索特征,文件结构,实时错误高亮显示和快速修改。
要得到完成的ReSharper特征说明,请浏览ReSharper特征页。
为什么选择ReSharper
包含对C# 3.0,Visual Basic.net,XML,XAML和Asp.net空前的支持,包含完成的交叉语言功能,ReSharper确信为Visual Studio开发者提供了比之前更高的满意度。
本工具可以减少你在常规事务和重复的手工劳动上消耗的时间,让你有更多的时间把精力集中在现有的任务上。它众多的自动错误检查和代码更正特征可减少开发时间,提高你的工作效率。你会发现ReSharper很快就会用提高开发效率和提升代码质量抵偿其购买费用。使用ReSharper,.net开发者就会体验到什么是“愉快的开发”。
授权
关于作者
Member
Location: Russian Federation