2008年:Resharper与CodeRush
我知道有很多关于Resharper或者CodeRush更好的讨论。在我的公司中,我们目前使用Resharper,我对此表示满意。
但是上周,我观看了有关CodeRush的截屏视频,并认为它很棒。有太多的"新"重构,我立即想到了迁移。
在重构,代码分析,在Visual Studio中导航等方面,我们最喜欢的工具是什么?为什么?我们认为Resharper在哪些方面更好,CodeRush在哪些方面更好?
解决方案
回答
我已经是CodeRush和Refactor的长期用户了!亲CodeRush不仅仅是重构。一旦学习了规则,编码速度就会提高。但是,即使在我们学习规则之前,它也可以智能地将其应用到我们正在做的现有事情上,并使执行起来更加容易。
确实,关于Ruby on Rails编码我最想念的就是我没有带有CodeRush和Refactor的IDE! TextMate捆绑软件让我有所收获,但事实并非如此。
他们有免费试用版,因此,我鼓励我们尝试一下,看看我们是否喜欢它。我从来没有回头。
回答
对我来说是救赎者。自从它成为EAP的第一个版本以来,我就一直在使用它,我非常喜欢它!就像我们说的那样,它远不只是重构,而是它在导航和代码理解方面为我提供支持的方式,而我所使用的远远超过了重构。我最喜欢的两个功能是代码清理和类型成员布局。
我发现蒂姆的评论很有趣,他说:
it intelligently applies itself to existing things you do
我想听听CodeRush中的内容。我非常尊重Developer Express产品。
回答
CodeRush正是人的所在。我不喜欢智能感知器,因此我将其关闭,这使保护器的用处不大。
回答
我都尝试过。
JetBrains Resharper对我而言比DevExpress Coderush更好。
JetBrains使用IDE更好(毕竟它们有自己的Java IDE),就像
DevExpress的漂亮组件更好。
回答
老实说,他们都等于任务。我发现CodeRush / Refactor Pro的学习曲线更陡峭,但是一旦我们对自己和环境进行了训练(并切换了几次击键),CodeRush就会真正有效。
ReSharper同样出色,在这一点上,不要让任何人误导我们。但是,它们并不相等,这取决于需求。 CodeRush的可扩展性(IMO)更高,但是如果我们从一个移动到另一个,则可能会丢失另一个。
早在7月,我花了一个月的时间来做我们正在谈论的事情(我从ReSharper迁移到CodeRush并写了博客)。
我对最终结果感到非常满意(我缺少了几件事……CodeRush的代码分析仍未达到ReSharper的水平,并且"移动"重构..除此之外,我还找到了所需的一切)。
这是我的博客文章,因此我们可以参考它们(如果需要)...
我们好CodeRush!
第一周后
使用CodeRush 2周
CR / RP总结
正如我所说,尽管这两种工具都很出色,并且取决于我们学习新工具的意愿,但我们现在拥有的东西可能会更好。
回答
尝试过两者之后,我想说CR / R的最新版本在与编程工作流程集成方面具有优势。通常,我们不会看到对话框询问我们是否要执行此操作,而是随操作而变化。我们始终都是所有可用重构等方面的按键。最新版本包括IMHO重要的重构,例如推/移动方法。在CR / R中,浏览课程更快。
我还注意到,在大型项目中,CR / R的性能往往比Resharper更好。
Resharper以及代码分析中对Intellisense的支持都更好。
回答
ReSharper是适合我的一个。我在这里写过:http://www.tewari.info/2009/02/21/resharper-vs-coderush-refactor-pro/
回答
这两个工具都很出色。我目前正在使用Refactor!亲我也才刚刚开始使用CodeRush Xpress。我在2005年的某个客户站点上使用过ReSharper。我购买了Refactor! Pro是几年前的产品,因为当时它具有更广泛的语言支持。我当时在做VB并进行重构!支持它,那时ReSharper却没有。我更喜欢CR / R中的UI范例!但是由于我没有使用最新版本的ReSharper,所以我无法判断最好的方法。但是,ReSharper的确在代码分析领域更为先进。最主要的一点是,这两种工具都比使用Visual Studio开箱即用的工具好而且更好。
回答
我使用resharper只是下载了CodeRush免费软件..但是菜单栏上没有任何项目./ ..没有..括号之间只有一行...所以我认为我会坚持使用resharper。
回答
我已经有很长时间的IntelliJ和Ruser了,我敢肯定我很难切换,但是我对自己所缺少的东西感到好奇,足以进行尝试。从其他人在此问题页面以及在线其他地方谈论的内容来看,我认为我仍然会错过R#的导航和分析功能。
我发现此页面的视频显示了CR / RP功能。对于像我这样的人,他们想要在安装任何东西之前先了解一下自己缺少的东西,可能会很有用:
DevExpress的培训视频和在线教程编码辅助和重构工具
回答
我在TDD之前使用Coderush一年。我现在已经使用了Reshaper近1.5年。多亏了R,我现在不用鼠标也可以轻松走一两个小时(这是因为我经常没电了)
如果我们练习TDD或者学习完全使用这些工具,那么Resharper就是我们要走的路,我在TDD中对CodeRush感到沮丧,这似乎是当时的工作要做JavaScript评估,而不是评估核心C#的生产力提高。
如果我们是使用Resharper进行CTRL + T和鼠标单击重构的人员,那么我们可能会从Coderush中获得更多收益,尤其是在考虑到属性生成的情况下。第1天给CodeRush留下了深刻的印象,如果我们不完全了解工具的使用,第10天也同样获得了胜利,但是到本月底,Resharper赢得了稳固的胜利。下次我们碰到鼠标时,请问是否有快捷方式,请尝试一下。
Resharper的学习曲线较高(我们需要流利于goto类型以外的其他知识),并且可以使用TDD方法发挥其最佳潜力。
回答
我得到Rfor进行代码分析的原因。实时向我显示错误真是棒极了。 CR没有它或者它的弱点。他们需要先入为主。
我也喜欢导航导航的快捷方式。
CR可能在重构方面更好,但是我很少进行重构。我用手做。 Refactor Pro具有如此多的重构功能,我们可能会被埋葬。学习曲线陡峭。
回答
我最近做了一些大的重构,并且说如果没有Resharper,我将无法工作。
我们可以这么快地发现很多事情,例如方法,类,接口,继承者的用法等。
如果我们想应用重构,那么有很多支持使Resharper对我来说是必不可少的
回答
我一直是CodeRush + RefactorPro的长期用户,而我的一个团队的朋友正在使用Resharper。
我真的很想像他在R#中一样进行代码分析。 CR在这里很差。在代码布局功能方面也很出色,并且具有不错的测试运行程序。在CR中,没有代码布局和格式化工具,并且尚未发布测试运行器。它处于计划阶段。
关于导航,我们发现两个工具都相同。
我的朋友羡慕我拥有CR的模板。 Rtemplates远远落后。另外,Ris的学习曲线更糟。 CR更容易掌握。而且,Refactor Pro提供的重构比R#中的重构更好。他们只是更容易应付。因此,就编写代码而言,我发现CR更好。
最近,我们俩都试图编写插件来实现我们在相反的工具中希望拥有的功能。对于CR,我能够更轻松地完成此操作。 DXCore的可扩展性正在积聚。
总而言之:Rhas的功能更多,但是很难学习。另外,如果我们发现缺少某些内容,则CR易于扩展。
回答
两者之间是否有任何性能差异?我曾经是ReSharper的用户,但是当我再也无法忍受缓慢的性能时,我最终放弃了。我的项目(表格等)越复杂,机器的速度就越慢。我卸载了它,性能还是更好。 CodeRush呆滞吗?
回答
与ReSharper相比,CodeRush的重构体验更快,更流畅(更少的击键,更少的对话框零,更少的鼠标移动)。重命名或者更改影响磁盘上许多未打开文件的签名时,CodeRush正确支持多文件撤消。相比之下,ReSharper会显示一个对话框,询问我们是否要撤消对此重命名的支持,如果我们说是,则ReSharper继续打开重构所涉及的所有文件。
与ReSharper相比,CodeRush具有更多的重构,尽管ReSharper在类重构方面有一个不错的Move成员,但尚未达到CodeRush。 ReSharper还具有出色的重命名功能,可让我们在重命名该类时重命名包含类名称的变量。例如,如果我将" Spaceship"类重命名为" Spacecraft",则ReSharper会找到名称类似于" superSpaceship"的标识符,并建议将其重命名为" superSpacecraft"。
在Visual Studio启动和项目打开时,CodeRush比ReSharper快一点。 ReSharper使用更多的内存,在大型解决方案(例如1000多个类)中最多可以使用六倍的内存。
ReSharper报告的后台代码问题比CodeRush多,并且ReSharper显示的代码问题通常更有用(例如,参数类型可以降级为更接近对象的类),但是CodeRush包括一个代码问题,该代码问题可以发现未处理的局部变量,实现IDisposable,这非常有用。
与ReSharper相比,CodeRush提供的代码模板(例如VS代码段)要多得多,并且CodeRush的模板被设计为具有最佳效率(例如," ms"构建返回字符串的方法," vb"创建bool类型的变量, " nl.i"创建一个新的初始化列表)。手指将从效率中受益,但是模板需要一些练习来习惯。如果我们在编写代码时熟悉了CodeRush培训窗口,则可以简化此学习曲线。有趣的是,CodeRush模板有效地抽象了编程语言,因此使用多种语言(或者从一种语言转换为另一种语言)工作的开发人员可以按相同的击键并获取基本上相同的代码,而不论他们使用哪种语言编写代码。
ReSharper有一个不错的Intellisense替代品和一个有趣的参数工具提示替代品。 ReSharper具有有用的变量名建议功能。 ReSharper还具有非常好的代码重新格式化功能。
与ReSharper相比,CodeRush的TDD消耗优先声明功能所需的击键次数更少(请参阅免费的CodeRush Xpress中的按键操作,该功能包括完整版本的CodeRush附带的大多数消耗优先声明功能)。
ReSharper的"查找所有引用"窗口为执行的每个搜索提供了多个窗格,这很不错。 CodeRush仅为最后执行的搜索提供一个窗格。 CodeRush具有"下一个参考的整洁"功能,只需按Tab键即可将所有参考带到标识符的所有参考(Shift + Tab会带我们返回)。 CodeRush的"查找所有参考"比ReSharper的显示速度更快。
9.3中发布的CodeRush的单元测试运行器开箱即用地支持更多的测试框架(NUnit,MSTest,xUnit和MbUnit)。 CodeRush测试运行程序还了解更多框架属性(例如NUnit的ExpectedException MatchType参数),还支持动态生成的测试(例如RowTests,Values属性,工厂,理论等)。对测试框架的支持是可扩展的,并且CodeRush包括每个测试框架插件的源代码。
回答
我认为没有任何比较。我使用Resharper已有多年,但是一旦我转到CodeRush,就不会再回头了。我之所以选择CodeRush,最大的原因是VS2010的Resharpers出色的性能。 Rmade IDE几乎无法使用。我有一个配备6GB RAM笔记本电脑的双核Intel,它仍然存在严重问题。似乎是我们对此的共识。 CodeRush就像它甚至没有VS2010. 非常轻巧,非常有用。我认为就功能而言,没有什么比这更好的了,在R#中还有很多我更喜欢的东西,但是当VS2010发行时,Jet Brains真的放弃了比赛,我感到非常失望。
回答
即使过了一年,我也不得不赞扬马克·米勒(Mark Miller),他给出了一个非常公平的比较。
自原始帖子发布以来,这两种产品均得到了改进,而且我都没有任何性能问题。
Resharper拥有的一项功能很难缺少,即它收集的"移动文件"重构。我们可以在解决方案资源管理器中选择多个文件,然后将其移动到新文件夹和/或者项目中,ReSharper将为我们修复名称空间和引用。今天,我在一些旧代码上使用了此功能,估计它至少为我节省了4个小时的繁琐工作。
社区插件DX_MoveCode提供了一些这种行为,但是无法更新名称空间,并且对所移动类型的所有引用都无法与之竞争。
如果没有传统代码,RCode Formatting真的很难生存。
我喜欢Code Rush中的重构更加整洁和高效的事实,但是Rprovide的这些对话框使我能够更新与重构相关的变量,注释和字符串。对我来说,这种支持证明了对话的成本是合理的。
让我感到惊讶的一件事是CR如何显示代码问题:在编辑界面的左右两侧打勾,并且有一个巨大的提示。滴答声很好,但是给我们一个选择权,可以关闭该提示。我很惊讶,因为CR通常在避免干扰方面做得很好,这有时可能会让人感到痛苦。
在CR中使用选项是一个主要的难题。 Code Rush不能很好地使修改其丰富的选项集变得容易或者可访问。
对我来说,如果CR提供相同的"移动文件"功能和"代码格式化Rhas",我会立即购买。我是吸引眼球的傻瓜,而CR则是黑桃。