2008年:Resharper与CodeRush

如果Resharper或CodeRush更好,我知道有很多讨论。 在我的公司,我们目前使用Resharper,我很好。

但是上周我看了一个关于CodeRush的屏幕录像,并认为它很棒。 只有那么多的“新”重构,我立即想到了一个迁移。

什么是你最喜欢的工具重构,代码分析,在Visual Studio内导航等,为什么? 你认为在哪些地方Resharper更好,哪些地方CodeRush?

坦率地说,他们两者都等于这个任务。 我发现CodeRush / Refactor Pro的学习曲线更陡峭,但是一旦你训练了自己和环境(并切换了几个按键),CodeRush真的变得有效了。

ReSharper同样好,不要让任何人误导你。 他们不是平等的,而是取决于你的需求。 CodeRush是更加可扩展的(IMO),但是如果你从一个移动到另一个,你会错过另一个。

回到7月份,我花了一个月的时间,只是做了你正在谈论的事情(我从ReSharper迁移到CodeRush并且在这里写了博客)。

我对于最终结果非常满意(有几件事情我错过了… CodeRush的代码分析仍然不是ReSharper的水平和“移动”重构..除此之外,我find了我需要的一切)。

这里是我的博客post,所以你可以参考他们(如果你想)…

你好CodeRush!
第一周后
CodeRush 2周
CR / RP总结

正如我所说,虽然这两种工具都非常出色,取决于你学习新工具的意愿,但你现在可能会更好。

与ReSharper相比,CodeRush重构体验更快,更顺畅(击键次数更less,对话框更less – 零次,鼠标移动更less)。 当您重命名或更改影响磁盘上多个未打开文件的签名时,CodeRush会正确支持多文件撤消。 相比之下,ReSharper会提出一个对话框,询问您是否要撤消对此Rename的支持,如果您回答是,则ReSharper继续打开重构所触及的所有文件。

CodeRush比ReSharper有更多的重构,虽然ReSharper有一个很好的Move成员到类重构尚未命中CodeRush。 ReSharper还具有很好的重命名function,可以让您重命名包含类名称的variables。 例如,如果我将“Spaceship”类重命名为“Spacecraft”,ReSharper将find名称为“superSpaceship”的标识符,并build议将其重命名为“superSpacecraft”。

在Visual Studio启动时,CodeRush比ReSharper快一点,并打开项目。 ReSharper使用更多的内存,在真正的大型解决scheme(例如,1000+课程)上,使用率高达六倍。

ReSharper报告比CodeRush更多的背景代码问题,代码问题ReSharper显示通常更有用(例如,参数types可以降级到更接近对象的类),但是CodeRush包含一个代码问题,可以find未定义的局部variables实现IDisposable这是非常有用的。

CodeRush比ReSharper提供了更多的代码模板(比如VS代码片段),并且CodeRush的模板被devise为最优效率(例如,“ms”构build了一个返回string的方法,“vb”创build了一个booltypes的variables, “nl.i”创build一个新的初始化列表)。 你的手指受益于效率,但模板需要一些习惯习惯。 CodeRush培训窗口可以缓解这种学习曲线,如果您在编写代码时已经有了它。 有趣的是,CodeRush模板有效地将编程语言抽象出来,因此,使用多种语言(或从一种语言转换到另一种语言)的开发人员可以按相同的击键并获得基本相同的代码,而不pipe他们正在编码的语言。

ReSharper有一个很好的Intellisensereplace和一个有趣的参数工具提示replace。 ReSharper有一个有用的variables名称build议function。 ReSharper也有一个很好的代码重新格式化function。

CodeRush的TDD消费优先声明function比ReSharper's需要更less的击键(请参阅免费的CodeRush Xpress,其中包含CodeRush完整版本中的大部分消费优先声明function)。

ReSharper的查找所有参考窗口有执行每个search多个窗格,这是很好的。 CodeRush仅为上次执行的search提供一个窗格。 CodeRush有一个整齐的标签到下一个引用function,只需按Tab键就可以完成对标识符的所有引用(Shift + Tab可以带你回去)。 CodeRush的查找所有引用出现比ReSharper更快。

9.3中发布的CodeRush的unit testing运行器支持更多的testing框架(NUnit,MSTest,xUnit和MbUnit)。 CodeRush Test Runner还可以理解更多的框架属性(例如NUnit的ExpectedException MatchType参数),并且还支持dynamic生成的testing(例如,RowTests,Values属性,工厂,理论等)。 对testing框架的支持是可扩展的,CodeRush包含每个testing框架插件的源代码。

我一直是CodeRush + RefactorPro的长期用户,而我的一个团队的朋友正在使用Resharper。

我真的想要在R#中进行相同级别的代码分析。 CR在这里只是穷人。 R#在代码布局function方面也很出色,并且拥有不俗的testing跑步者。 在CR中,没有代码布局和格式化工具,testing运行器尚未发布。 正在计划阶段。

关于导航,我们发现两个工具是平等的。

我的朋友羡慕我有CR的模板。 R#模板远远落后。 另外,R#的学习曲线更糟糕。 CR更容易掌握。 而且,Refactor Pro提供的重构比R#更好。 他们只是更容易应付。 所以,在编写代码方面我觉得CR更好。

最近我们都试图编写插件来实现我们在相反的工具中看到的function,并希望拥有这些function。 我能够做到这一点更容易CR。 DXCore的可扩展性令人费解。

总而言之:R#有更多的function,但是它们更难以学习。 而且,如果您发现缺less某些东西,则CR更容易扩展。

CodeRush就是它的地方。 我不喜欢resharpers intellisense,所以我把它关掉,这使得resharper不太有用。

这对我来说是Resharper。 自从它首次发布EAP以来,我一直在使用它,我喜欢它。 正如你所说,它远远超过了重构 – 它是支持我在导航和代码理解方面的方式,我使用远远超过了重构。 我最喜欢的两个function是代码清理和types成员布局。

我觉得蒂姆的评论很有趣,他说:

它智能地适用于你现有的东西

我有兴趣了解CodeRush中的内容。 我对Developer Express产品有很多的尊重。

我一直是CodeRush和Refactor的长期用户! 临。 CodeRush不仅仅是重构。 一旦你了解了规则,编码速度就会提高。 但是,即使你学习规则之前 ,它也会聪明地将自己应用于你现有的事情,并使它们变得更容易。

事实上,我错过了Ruby on Rails编码最多的事情是,我没有CodeRush和Refactor的IDE! TextMate包让我分开,但不一样。

他们有免费的试用版,所以我鼓励你试试看看你喜欢它。 我从来没有回头。

我已经尝试了两个。 JetBrains Resharper对我来说比DevExpress Coderush更好。

JetBrains对于IDE来说是更好的(毕竟他们有自己的Java IDE),就像DevExpress在美丽的组件上更好一样。

经过尝试,我认为最新版本的CR / R在与编程工作stream程集成方面具有优势。 通常你不会看到一个对话,询问你是否想做这个或那个,只是随着你在做什么而stream动。 你永远是所有可用的重构等按键。最新版本包括恕我直言重要的重构,如推/移动方法。 在CR / R中导航类更快。
我也注意到,在大型项目中,CR / R的性能往往比Resharper更好。
Resharper支持Intellisense,代码分析更好。

两者之间有什么performance差异? 我是一个很长时间ReSharper用户,但终于放弃了,当我无法忍受缓慢的performance。 我的项目(表格等)越复杂,机器就越慢。 我卸载它,performance方式,方式更好。 CodeRush是低迷吗?

我在TDD前一年使用了Coderush。 我现在使用了Reshaper近1.5年。 我只需要一小时或两小时就可以不用鼠标,这要归功于R#(因为我经常用完电池)

如果你练习TDD或学习完全使用这些工具,那么Resharper就是要走的路,我在TDD中使用CodeRush遇到了许多挫折,似乎在努力做JavaScript评估,而不是评估核心C#的生产力增强。

如果你是使用Resharper进行CTRL + T和鼠标单击重构的人,那么你可能会从Coderush中获得更多,尤其是如果你的代码清单上的属性生成的话。 第1天的印象CodeRush获胜,如果你不学习拥抱工具,那么就等于第X天,但到了月末,有一个可靠的eval Resharper获胜。 下一次你到达鼠标问有没有这个捷径,尝试一下。

Resharper有一个更高的学习曲线来开始(你需要成为stream畅的东西超越gototypes),并在TDD方法的最佳潜力。

我不认为有任何比较。 我使用了Resharper多年,但是一旦我转移到CodeRush,我不会回头。 我搬到CodeRush的主要原因是与VS2010的Resharpers可怕的performance。 R#使得IDE几乎无法使用。 我有一个双核英特尔6GB内存的笔记本电脑,它仍然有严重的问题。 似乎是我们在这方面的共识。 CodeRush就像它甚至没有VS2010。 非常轻便,只是一个有用的。 我不认为一个人的performance要好得多,R#中还有很多我喜欢的东西,但是当VS2010出来的时候,Jet Brains真的把球丢了,我非常失望。

ReSharper是我的一个。 我在这里写了这个: http : //www.tewari.info/2009/02/21/resharper-vs-coderush-refactor-pro/

即使过了一年,我也不得不赞扬马克·米勒,他给出了一个非常公平的比较。

自从原来的这两个产品都有所改进,我也没有任何性能问题。

Resharper拥有的一个非常难以生存的特性就是移动文件重构的集合。 您可以在解决scheme资源pipe理器中select多个文件,并将它们移动到新的文件夹和/或项目中,ReSharper将为您修复名称空间和引用。 我今天在一些遗留代码上使用了这个function,估计它为我节省了至less4个小时的繁琐工作。

社区插件DX_MoveCode提供了一些这种行为,但没有能力更新名称空间和所有移动types的引用它只是不竞争。

R#代码格式化是真正的难以生存,尤其是如果你使用遗留代码。

我喜欢Code Rush中的重构更加清洁和高效的事实,但是R#提供的对话框让我能够更新与重构相关的variables,注释和string。 对我来说,对话的成本是由这种支持来certificate的。

有一件令我惊讶的事情是CR如何显示代码问题:在编辑界面的左侧和右侧点击一个巨大的提示。 蜱是好的,但给我们一个optonclosures这个提示。 我感到很惊讶,因为CR通常做得不错,这个提示有时候可能会很痛苦。

在CR中使用选项是一大痛苦。 Code Rush并不能很好的简化或修改其丰富的选项。

对我来说,如果CR提供了相同的移动文件function和R#代码格式,我会立即购买它。 我是一个眼睛糖果吸盘和CR有黑桃。

我使用resharper – 只是下载了CodeRush免费的东西..但没有菜单栏上的项目../ ..没有..只有括号之间的一行…所以我想我会坚持使用resharper ..

我得到R#的代码分析的原因。 实时显示我的错误是真棒。 CR没有它或者它的弱点。 他们正在采取正确的做法。

我也爱R#导航快捷键。

CR在重构上可能更好,但我很less做重构。 我亲手做。 Refactor Pro有这么多的重构,你可能会被埋没。 学习曲线陡峭。

我最近做了一些大的重构,并且会说没有Resharper就不能工作。

你可以如此快地发现如此多的东西,比如方法,类,接口,inheritance者等的用法。

而且,如果你想要应用重构,那么有很多支持让Resharper成为我的必备工具

这两个工具都非常出色。 我目前使用Refactor! 临。 我只是刚刚开始使用CodeRush Xpress。 2005年,我在客户网站上使用了ReSharper。我购买了Refactor! 临几年前,因为那时候它有更广泛的语言支持。 我当时在做VB和Refactor! 支持它,ReSharper没有。 我更喜欢CR / R中的UI范例! 但是因为我还没有使用ReSharper的最新版本,我不能判断什么是最好的。 不过,看起来ReSharper在代码分析领域更为先进。 主要的一点是,这两种工具都比Visual Studio开箱即用的方式更好,更好。

我是一个很长时间的IntelliJ和R#用户,我相信我会觉得很难转换,但是我对我错过的东西的好奇心已经足够强大来接近尝试了。 从别人在这个问题页面和其他在线上的其他人谈起,我想我仍然会错过R#的导航和分析function。

我find了这个显示CR / RPfunction的video页面。 对于像我这样的人来说,在安装任何东西之前,想看看他们错过了什么可能是有用的:

培训video和在线教程 – 编码协助和重构工具由DevExpress