在我的部门,我们目前正在使用ReSharper 4.0并决定是否在下周发布时升级到4.5。我个人是ReSharper的忠实粉丝,但是我的一些同事已经指出他们一直在使用DevExpress的一个名为Refactor Pro的插件来执行类似的功能。
http://www.devexpress.com/Refactor
http://www.jetbrains.com/resharper/beta.html
以前有没有人比较过这些工具,并且对哪种工具能够最大限度地提高生产力以及为什么能够持有任何强有力的观点?
答案 0 :(得分:10)
在我的部门,我们也使用ReSharper。今天,我安装了4.5,但之前已经使用过3.something,4.0和4.1。它确实提供了许多伟大的重构和代码编写支持功能,重命名方法和功能,重新排序参数...... 我真正喜欢的是,根据您的公司代码风格,您可以配置ReSharper以提供有关不同严重性级别的样式违规的提示(并根据更改快速应用,如MS StyleCop,但更容易配置和更微妙)。 我最喜欢的功能是Class-Searching,只输入CamelCases,即你键入TSHWLOV,ReSharper会知道你的意思是来自一些名为'TerrificSearchHelperWithLotsOfVoodoo'的引用库中的类。
去年我在BASTA Spring 08上为Oliver Sturm所做的事情留下了深刻印象,去年我尝试了DevExPress CodeRush / RefactorThis-Alternative。 界面更加吸引人,比Resharper更令人印象深刻,有很多巨大的箭头在你的IDE和类似的东西周围翻转,虽然核心功能非常相似。 我觉得CodeRush更专注于代码创建而不是重构,即创建变量等任务的更多快捷方式。 我最喜欢的功能是侧边栏,它总是显示您当前上下文中可用的所有键盘快捷键。这使您可以快速学习这些命令,在ReSharper中,您必须在嵌套子菜单中查找大多数命令。 两个套件都非常强大,经过几个月的使用后,您可能仍会发现新功能,而这些功能在您不知情的情况下始终需要。 然而,我决定支持ReSharper,主要是因为我对它更熟悉,DevExpress在我的笔记本上使用了大量资源,偶尔也会减慢速度。到现在为止,我再次使用功能更强大的机器,也许我会尽快再试一次。答案 1 :(得分:7)
我个人更喜欢CodeRush。
我发现R#的界面让我的(可以说是次要的)OCD倾向变得疯狂。小灯泡坚持出现在屏幕的最左侧,即使它的建议与中间或右侧的某些内容有关。我发现它很花哨,令人分心。
相比之下,CodeRush的等效智能标签是低对比度和更小。因此,它能够在代码中定位自己而不会分散所述代码的注意力。我觉得我可以在需要时忽略这个SmartTag,当我决定需要它时,它总是在我面前。
主要是这一点,这使我无法再进一步探索R#。
CodeRush的功能集:代码分析,重构,代码提供商,模板,TabToNextReference,QuickNavigation等等。
我特别喜欢CodeRush的可扩展性,这使得我和其他几个人可以创建许多插件以便在其中使用。 (http://code.google.com/p/dxcorecommunityplugins/)
CodeRush还拥有一些高质量的支持和非常活跃的用户社区。 p>
当然,R#或CodeRush都不适合所有用户。每个人都有自己的喜好。但是,如果你没有尝试过两者,你当然应该这样做。
如果您来自等式的R#侧并且正在测试CodeRush,那么您可能会发现兼容性插件很有用(http://code.google.com/p/dxcorecommunityplugins/wiki/CR_ReSharperCompatibility)
此外,CodeRush有一个Free edition 'CodeRush Xpress',微软委托DevExpress创建,并代表Visual Studio 2008的每个用户获得许可。这个合作伙伴关系将在它发布后继续进入VS2010。
如果您对CodeRush有任何疑问,可以在my community wiki page底部找到与我联系的详细信息。
我应该说我不适合DevExpress。我就是你所谓的DevExpress MVP。为了保持这个位置,我在DevExpress论坛上回答问题(没有别的)。
我说的一切都是我自己的诚实意见。
如果您有任何疑问,feel free to contact me:)
答案 2 :(得分:4)
我正在使用具有许多“隐藏”功能的DevExpress,因此您需要阅读手册以了解如何激活某些功能。我发现它非常被动和微妙。
我使用了ReSharper,发现它有些错误并且在我的编码风格上非常具有侵略性。支架关闭驱使我疯了,它忽略了我的偏好,无法应对我如何编写我的代码行 - 这可能不是最有效的,但它是那些不会改变的事情之一!
答案 3 :(得分:3)
我已经尝试了两种,并且真的与ReSharper不相处。我发现它对我的编码风格来说太过于干扰。当我切换到CodeRush / Refactor!就像我找到了完美的生产力帮助。在大多数情况下,重构正是我想从这种产品中看到的。
然而,对于课程而言,你可能会发现你更喜欢ReSharper。我能给出的最好的建议是尝试其他产品,看看你喜欢哪种产品。
答案 4 :(得分:1)
唯一正确的答案是使用两者,当然!我做。你需要一台健壮的笔记本电脑。如果我只选择一个,我会选择ReSharper ...我认为静态代码分析要好得多。 ReSharper有很多很棒的功能,DevExpress有很多很棒的功能。 当你把两者放在一起时,你最终会有很多真棒。 你需要跳过一些箍,让它们很好地融合在一起:http://frazzleddad.blogspot.com/2010/01/making-devexpress-resharper-play-nicely.html
答案 5 :(得分:0)
如果您拥有4.0许可证,则R#4.5是免费升级。所以我建议去使用它 - 改变“生产力工具”总是很痛苦,因为你必须习惯不同的方式,键盘快捷键等等 - 无论工具实际有多好。
答案 6 :(得分:0)
我有Refactor Pro的个人副本,但我使用R#4.1与StyleCop插件一起使用,因为这是团队标准工具。我喜欢RfP的箭头和代码定位比R#好的东西。否则工具非常相似。
然而,在这个时候,它的StyeCop插件可以让我摆动它,转而支持R#。
干杯 本吉