Alternatives to Resharper [closed] - visual-studio

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Just before you sigh and mark this question as a duplicate, I can tell you, it is not.
I've seen a lot of questions about replacing Resharper with something else, but most of them are out of date. I'd like to get this question raised again with a view to current situation in the world of VS extensions.
I have been using R# for the last 2 years and have paid out of my pocket for V7 and for upgrade to V8. But more and more I use it, I feel it is a drag! Drag on CPU resources and drag trying to fight the bloody thing. Visual Studio is horribly slow with it enabled. One of the projects I work on has 230K lines of code and R# is very slow there!
I wish Resharper was modular and I could turn off most of it's features.
I have tried Productivity Power Tools and they add a lot of value, but don't have critical functionality I'm after
Anyway, my question is: what extensions can do the following:
Nice test runner. Where you can right click on the test and say Run. Native VS test runner is horrible.
Refactorings. Some refactorings are presented in VS natively which is nice, but anything past extracting a variable is non-existing. Renaming is very nice in R#, but I've never seen this implemented anywhere else.
I know this question is a bit off-topic - asking to recommend a product. But people did ask similar questions here, hence I decided to ask as well.
2nd July 2018 Edit 4 years after and I still get upvotes on this question, so I guess it is a time for an update. I'm on Visual Studio 2017 (currently 15.7.4) and don't have Resharper installed on any of my machines. And it is working just fine. Built-in functionality is mostly doing what is needed, even built-in Test Runner is fine.
There was a period of withdrawal when I was missing R#, but after almost 2 years without R#, I can say - native VS is good (and fast) enough to work on web projects. Yes, some R# features are still missing, but not enough to grant R# behemoth to weight me down.

This is one of those subjective questions that are typically closed quickly on StackOverflow, because there isn't just one answer. Here is mine, and I will provide the typical disclaimer: I am very biased towards ReSharper. I'm a huge ReSharper fan, have been using it since v2.5, I build plugins for ReSharper, and I keep very close tabs on what's happening at JetBrains, because I really love that company!
I will admit: ReSharper performance is something that comes up with every single version, year in, year out. No matter how much work the ReSharper team does to improve performance with every new version, this is true - once ReSharper is installed in Visual Studio, a noticeable performance hit is felt - Visual Studio takes a bit longer to start, at some (rare) cases, typing might be slower, and if you have huge code files (few thousand lines long), ReSharper will choke trying to open them.
Having said all that - for the additional value I get from ReSharper, I will take its performance overhead any day! There are just not enough words for me to describe the benefits of being so familiar with the tool, that you feel like an absolute caveman without it. My dayjob is developing a Visual Studio debugging extension, and whenever I install a clean Visual Studio in a Virtual Machine for testing, I am in physical pain, because vanilla VS lack so many features that seem just obvious (few examples: extract (introduce) variables/fields, inline methods, rename everywhere (as you've mentioned), not to mention navigation to all errors in the solution without having to recompile, and many more).
I mentioned that I am biased, but I will try answering your actual question. You have probably heard of Roslyn. If not, Roslyn is the name of the next-gen .NET compiler platform that Microsoft has been working on for the past several years. This new platform provides APIs that will allow Visual Studio extension authors to build diagnostics and refactorings/code-fixes that are very similar to ReSharper. So similar, in fact, that Microsoft just took ReSharper's light-bulb and put it in Visual Studio!
The next version of Visual Studio (currently called Visual Studio "14", which is in preview stage) is entirely powered by Roslyn, and comes out of the box with some "ReSharper-like" features, such as the powerful rename (screenshot below), and other diagnostics. The SDK comes with samples, allowing you to build your own diagnostics and refactorings, using a rich, modern API. Microsoft did a good job in making all those things accessible to "normal" developers, so you don't have to be a compiler expert to build those things yourself.
I will say this: compilers are HARD. No matter how good the API or the platform, the amount of work required to cover all the corner cases is insane. It took almost 10 years for ReSharper to get where they are today, feature-wise. It will be at least a few more good years until Visual Studio catches up to (most of) them. There are already free extensions that build on top of Roslyn, which introduce some new diagnostics and refactorings.
In conclusion, I believe Roslyn will provide a sufficient alternative to ReSharper in the not-so-near future. Many free extensions will be built, and you'll be able to install just the ones you want. One caveat about free extensions, just as you yourself mentioned in the question - they tend to become obsolete and disappear. There will be no-one to complain to about their own bugs and performance issues.
Edit Same is true, by the way, for any other commercial "ReSharper alternative", that's why I didn't even bother mentioning other tools. The all have both pros and cons. It's up to you to decided what is sufficient.
Hope this helps!

Related

Two developers working concurrently [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I'm a relatively new developer (two years experience, coming from an apprenticeship) and in my workplace we've only ever had one developer working on a project at a time.
We keep our projects in Microsoft Visual Source Safe and check out files as required, and checking back in when we're done.
However, I've been doing some thinking lately and I'm unsure how we'd work on the same project at the same time? Almost everything has dependencies on some core code and certain base classes. Is there anywhere I can go to read up on concurrent development, or are there any 'techniques' I should be researching?
How do team work on projects together? For background information I'm a .NET developer working mostly with VB.NET and webforms, but am moving onto C# MVC.
Edit
I think what I'm really asking here is about the techniques that should be employed as opposed to the software. I've been tinkering with Git a little and can see the benefits of the system over VSS. I was looking more for help with techniques on a project level that can be employed with concurrent development;
Should the development of two sections be completed then merged, or should it be more closely worked on together?
Are there any proven techniques or best practices when it comes to reviewing changes or discussing the next move?
Are there any books or articles I can read on how to produce a project as a team more efficiently etc?
Given you are using a Microsoft Stack, does it not make more sense to update yourself and use TFSOnline as an example. Its far better than its predecessor and everything is fully integrated into your toolset (assuming you use Visual Studio). There are loads of tools out there but everything I use is free inside a MSDN subscription and it plays nicely together. I am not saying others aren't ahead of the game but it makes more sense given what you are doing. Was very surprised to see SourceSafe stil being used.
I never used Visual Source Safe, but most chances are a different source control tool called Git (http://git-scm.com/) will make the concurrency better.
As the project will grow, you will probably have less collisions - just because there are more files to work on.
Try to push back the code more often. No more than 1/day - and hopefully sooner.
Use some kind of SCM(source code management) Wiki,
You can use some kind of program to help you, today the most popular program to this is GIT Wiki Git, but have many others. Do some research and find out what is better for you.

Eclipse vs. Visual Studio: What are the features in Eclipse that are not present in Visual Studio and vice versa? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I keep hearing Eclipse is better than or way ahead of Visual Studio but when I installed Eclipse I felt it is very clunky and hard to use interface. So I want to know what is so great about Eclipse and if there are others who agree with me.
I also could not find a similar question that talks about the specific features about Eclipse and their comparison to Visual Studio.
Well,
I have been working with Visual Studio for a some looong time now :-) I have touched Eclipse ONCE long time ago.
and now...things changed in my head like a couple of weeks ago when I started developing a project for Android mobile platform..tell you what.... ECLIPSE IS BETTER yes..I've said it.
Don't get me wrong. I still love Visual Studio , I've developed many programs using it and it always will be my first love. HOWEVER.... automatic code generation in Eclipse MANY MANY GOOD HINTS it gives you while writing the code.. to place try's, make List not generic but type defined, etc.. analysing your includes ALL THE TIME and eliminating the ones that are not needed anymore, for example I've defined a private FLOAT variable of a class, made a constructor and all the Setters and getters AUTOMATICALLY just by pressing an option in a menu, when I've executed the constructor with a number of precision too high for a float type it automatically suggested changing the private type to double and done all the changes including return types etc:)
ECLIPSE is more like a programmer's companion than a dull REGEX based environment.
Last time I tried Eclipse (about a year ago), I found it to be dog slow. Autocomplete would take multiple seconds to bring up the list of possible matches, for instance. Other elements of the UI were also poorly responsive.
I just switched back to Visual Studio (was forced to) from 5 years of Eclipse (and Java), so I can make a list of what I miss in it:
Ctrl + Shift + T (Search a class)
Ctrl + O (search the functions of the current class)
Ctrl + right click on a variable/type/etc to go to its definition
Show type hierarchy of a class
Ctrl + Click on a function and go to its definition or one of its overriding functions
And the list goes on and on (refactoring in Eclipse is really good, you have lots of plugins like eclEmma, findBugs, etc).
I just find VS frustrating to navigate in the code, especially with large projects.
But maybe I just did not found these features in VS yet?
There are always things in one development environment that aren't in another, but at the end of the day it comes down to two things. 1) What one you prefer to use. 2) What one you can afford. Eclipse is free which is a very big feature for a lot of people.
You have them both installed so why don't you try one for a little bit, and then try the other for a little bit and make up your own mind. I can tell you what people will tell you is better.
If they use VS they will tell you VS is better, and if they use Eclipse they'll tell you that Eclipse is better.
#user168715 - There are a number of things that you can do to make Eclipse slower/faster:
If you don't give Eclipse enough memory it will be slower. It will spend a lot of time garbage collecting, and will continually be throwing out the cached information that would otherwise speed things up. These combine to make the UI sluggish.
If you run Eclipse on a project stored in a network mounted file system, it will be slower.
If you launch Eclipse from a network mounted installation it will be slower.
If you have lots of large projects open, Eclipse will be slower. This is largely due to the increased memory footprint needed to cache the method signatures etc used for things such as auto-completion.
If you run Eclipse on Windows, it will be slower than running on Linux/UNIX for the same hardware configuration. Linux/UNIX has more performant file systems, file system caches and virtual memory managers than Windows. And for a 32 bit platform, Linux can give the JVM more memory than Windows can.
EDIT - I notice that #ssahmed555's experience contradicts my last point ... but this is my experience.
Both Eclipse and Visual Studio are good IDE. They have their advantages and disadvantages so I am hesitant to state "X is better than Y".
However, there are some things that I really like about Eclipse:
Adding Plugins. You can add plugins in Visual Studio too but Eclipse seems to do it much better. Updates are much also easier.
Keybindings. I find keybindings on Eclipse to be a more intuitive and easier (Ctrl+Click on an identifier to go to its definition makes more sense to me than hovering over the attribute and clicking F12)
Eclipse has better refactoring tools out of the box.
Having said that, the language you are using will determine which is the more appropriate IDEA. For Java, Python, Ruby, etc, I would go with Eclipse since there are some really good plugins for it. For languages developed/maintained by Microsoft (such as C#, VB.Net, etc), I would go with Visual Studio since it will probably have better built-in support.
For me, in order to be useful, IDE should meet following requirements:
It should be possible to kill every damn toolbar and button, tab captions and so on in order to maximize working space.
Ide should support non-monospace font.
It should be possible to summon any window (file list, output, etc) with key combo and dismiss it with escape.
No pixel should be wasted on screen. No rounded buttons, no extra spacing between text and widget border are allowed.
It should be possibel to work without mouse, using keyboard only.
Any other functionality is optional, including autocomplete.
I.e. my working environment normally look like this. This is a most efficient layout for me.
Last time I tried eclipse (2..3 years ago) it couldn't satisfy #1 and #4. There were buttons that could not be removed, some interface elements were needlessly curvy and rounded and took extra screen space without real need for that. It also wasn't fast enough. I spent some time trying to fix those problems, gave up and lost interest. Maybe there were some deviously hidden options that could be useful to fix those problems, but I never tried eclipse again.
And I probably won't try it again, because my IDE works for me. I must admit, that although I don't exactly like Microsoft, their IDE (2008 edition, at least) is very close to perfection (it still has quite a lot of problems, though)
From my experience, there are two other editors that could be used as a VS replacement (on Linux) - jEdit and Kate. And if you can live with monospace font, vim is also quite useful.
Visual Studio and Eclipse are both excellent IDEs with a wealth of features. I've never found Eclipse to be particularly slow, although it will occasionally pause (I wonder if the JVM is garbage collecting). I haven't used the C++ plugins with Eclipse, but the advantage Visual Studio has is that it supports C++ as one of its "native" languages. If you are doing Windows development, you are probably best of with Visual Studio.
If you want to develop for other platforms, Eclipse is likely to be worth a second look.
I've developed plugins for both, and I recently wrote a comparison, here: http://geekswithblogs.net/cyberycon/archive/2011/05/01/eclipse-vs-visual-studio.aspx
For one, Eclipse is cross-platform whereas Visual Studio only runs on Windows.
Prior versions of Visual Studio didn't have very many customization (i.e. preferences) options. In that regard I've always thought Eclipse presented a wealth of options for tweaking preferences and customizing your setup.
But a cursory look at Visual Studio 2008 reveals that the MS IDE now sports a competing array of customization & preferences options. I suspect that VS 2010 is no worse in this regard.
One advantage of Visual Studio is that depending on the version/edition (Express, Professional, Team System, etc.) you have installed, in addition to the VS IDE and the compiler tools you'll get a plethora of supporting development, debugging, and platform tools. I am currently using VS 2008 Professional edition, and it has an extensive array of supporting tools installed on my system.
#user168715: the timer for auto-complete in eclipse defaults to that sort of behavior, but can be configured to have a faster response.
I primarily use eclipse but have used VS for a number of projects, in doing so the only things that stuck out to me are how quick the auto complete is in visual studio (I'd like to slow it down a bit) and when you have errors in a source file, eclipse places little markers on the right side of the editor next to your scroll bar. I like that feature and missed it in Visual Studio.
Small things like that are the primary differences, I don't think you will find many major features that are missing from either of the two.
Keep in mind I haven't used Visual Studio 2010.
Eclipse has faster and more refactoring options. Symbols can be renamed inline, and all instances of a symbol in a file are highlighted by putting the cursor over them. It has continuous and automatic background compilation (for Java anyway). Searching for references is faster as well. It has a "gutter" that displays errors and warnings for an entire file with easy navigation. It has an integrated diff tool, and I usually prefer Eclipse's source control plugins.
Many of these features are provided by ReSharper, but that is a commercial product.
This depends on what type of projects you are using your ide for.
For example if you want to write a C#/VB project, the Visual Studio has everything you want, code completion, refactoring, etc, while eclipse uses a plugin that just doesn't do it Looking for up-to-date eclipse plugin for C#
But if you are writing a C++ project things change, without Visual Assist, Visual Studio offers very little, a fast autocomplete that never works, no instance highlighting, doesn't even highlight brackets and parenthesis, it is almost the same as using notepad++. On the other hand Eclipse offers all of this, at the cost of more computing resources, but on a 2.0GHz dual core with 2 gbram I almost never had to wait for anything.
Also at the company I work for most projects are c++, we switched to eclipse and found that most of the developers are more satisfied than with VC++ and consider the money savings :D
And another thing, that makes a very big difference between VS and Eclipse are the plugins, I find that Eclipse has tons of handy free plugins while VS only a few, and the ones that I find useful like Visual Assist are paid.
My personal experience with Eclipse and VS is that VS is a more structured environment, every feature "Works right" there are no incompatibilities between plugins, and the "anoying" factor is not present in VS, no bugs. I have to say I love VS because of the intellisense too, it makes more sense and works without work, is right there. The autocomplete in eclipse, is not as smart as the intellisense in VS and there is a huge difference, in Eclipse if you want to get it working like in VS you will need to "feed" Eclipse with information regarding the functions and things related to the actual programming language (PHP case). I program Visual Basic in VS and I have tried Eclipse programming Php. I have not seen how Zend Studio works, I got a trial of Zend Studio before but I was not able to get around it to test it for about a month, so when I finally got to it, the free trial expired, what the flagnards!!. I am thinking in giving it a try, I have noticed that it has gone down in price, that is great, but on the other hand if anybody wanted to use VS they could use the Express edition that is for free, There are no excuses. Reason why I can say that VS is also a more ready and available IDE than Zend Studio. But we are talking about Eclipse now... Hummm VS is a better IDE than Eclipse.
Eclipse can be very messy and unpredictable when working on dynamic web projects due to its annoying interaction with Tomcat Server which fails 73% of time. Visual Studio has IIS server built in it and the user does not have to manually install a messy server like apache tomcat. Eclipse also takes like forever to load workspace while VS has everything well organized to load fast. With Visual Studio everything is straight foward unlike eclipse where u have to keep on configuring settings from its disorganized menu, for some features to work.
Once again I've ended up on this page looking for a way to make Visual Studio more like Eclipse. Specifically the problem of indicating errors that exist in your source file. Eclipse has a marker bar down the text panel which flags errors, warnings, todos and notes. Clicking on the marker jumps you to that location in the file. It's a really simple widget that takes hardly any room, gives tool tips in the markers and is built in to the Eclipse IDE.
I was so peed off with Visual Studio I wrote a blog article all about how bad Visual Studio is. I have 24 points so far!
http://www.bigsoft.co.uk/blog/index.php/2011/08/19/come-back-eclipse-all-is-forgiven
There are a couple of Visual Studio plugins that will do it but i haven't found one that is free yet.
Basically everything that is in the Resharper Visual Studio plug-in (code inspections, automated refactorings and coding assistance) already exist in Eclipse and is built in, whereas the Resharper plug-in costs £272 (at the time of writing) making Visual Studio (£800-1200) a very expensive solution.
In Eclipse I really like:
"Find type" window (ctrl+shift+t) - you just type the name of a class and you can go to its definition. I think this boosts productivity a lot.
Very good auto formatting of code (just press ctrl+shift+f)
Last time I used VS (something like 2-3 years ago) I couldn't find these features. There was auto formatting feature but somehow it wasn't working as good as in Eclipse.
EDIT:
There is actually one thing that I found better in VS. It has a very good built in visual GUI designer. In Eclipse you have to use plugins to have it and what they provide is usually far behind what GUI designer in VS provides.
Eclipse is something that might require a little training to get the hang of it
To me, the best thing about eclipse is the MYLYN plugin which makes life so much simpler, give it a shot and you'll be its customer for life.
It depends if you compare vanilla VS with vanilla Eclipse. If that is the case, Eclipse blows VS like piece of paper. But if you install Resharper on VS that is completely different IDE.
But ReSharper is commercial, as some versions of VS, so I will have to give my vote to Eclipse, even thoe I am mainly .NET developer...

AnkhSVN vs VisualSVN [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
We're thinking of switching to SVN at my work, so I was wondering about SVN plugins for VS2008 (and 2010 when it comes out). After a bit of research I found AnkhSVN and VisualSVN, the 2 that seemed most dominant. (I am aware of TortoiseSVN and will use the plugin in conjunction with it).
I am aware that this has been asked before, but these questions were asked almost a year ago and we all know that a lot of things can change in a year.
The question: From your experience, which is better and why?
Granted, it has been a year since I've used each product head-to-head, but my current preference is AnkhSVN. Though folks grumbled about early versions of AnkhSVN, 2.0 was a near rewrite of the original and is now a full Source Control Provider Integration Package rather than a Visual Studio Add-In. With commercial backing from CollabNet and renewed open source enthusiasm, AnkhSVN 2.0 deserves a chance.
My two favorite features of AnkhSVN are it is free and I love the Pending Changes window.
As for VisualSVN, I find it to be sluggish and I feel it leverages TortoiseSVN rather than handling the file management itself far too often. And it costs money (albeit a small amount.)
Again, this is based on my last head-to-head test which was about 1 year ago. As already stated, TortoiseSVN is great on it's own, but if you really want to plug into the VS IDE, give AnkhSVN a whirl before VisualSVN. Best of luck.
I have tried both of the VS plugins...after several months of use I quickly realized that I spent ALL of my time in Tortoise! The plugins don't get all of my trunk related items. They only work with items that are part of the solution and that VS recognizes. For this reason I spent pretty much all of my time in Tortoise...and eventually all of my time. There is no reason to pay for plugins when Toroise is both free and updated almost daily.
Stick with Tortoise and learn how to use it. You will be happier in the end.
Responses:
#jeroenh: "... There really is an advantage of using a (properly integrated) VS plugin, namely when moving/renaming files in your solution. ..."
I agree that renaming/moving files in Tortoise is clumsy. And VisualSVN does make this easier.
#Darko Z: "on a personal level I agree, but on an organisational level I don't. We have a few people here that NEED VS integration. Yeah its silly but fair enough :)"
Yes, I have several people like that in my current team. And training them to get used to Tortoise has been a Bear! They are the reason that we got some licenses for VisualSVN..but they complained about that too.
I had the same dilemma as well a few months ago, and finally decided to go with VisualSVN. We've been using it for 4 months for C# inhouse web application development and our experience has been positive.
Firstly, the server part integrates with Active Directory and offers an easy to use MMC control for managing the repositories.
Secondly, the client part integrates with VS2008, doesn't slow down Visual Studio loading times, and works with pretty trivial color codes (green for untouched files, yellow for files you changed). It features full revision diff's, you can comment every revision.
One down side is that its supports for hooks (like post-commit hooks) is very rudimentary.
You can view statistics like who made the most commits, etc. It supports branches although we don't use those features. All client-server communication is done through SSL (keys and certificates are configured automatically).
I asked them a question at some point about how to delete the branch history from the Visual Studio dropdown, and their support answered that I simply needed to delete the .suo file (efficient customer service)
Finally, my experience from working with VisualSVN: simple and straightforward for our relatively small team. (we're 5 programmers, but I'm pretty sure this scales a lot more than that).
I use VisualSVN at the moment, and it's great as it auto-adds any new files to the SVN and allows easy revert and diff without having to open an explorer window. However, you will still need to use TortoiseSVN for files not in your Visual Studio solution.
Last time I used AnkhSVN it didn't work too well and screwed my SVN checkout up (but this was a couple years ago).
I have used both and prefer Visual SVN (as of v3.0.4) because of its integration with Tortoise SVN which I already use and am quite familiar with. Because of this familiarity and VisualSVN's integration with it I prefer it a bit more.
I believe there is argument that AnkhSVN (as of v2.4.11610) has more features integrated into VS.NET, but it is working with it's own dialog windows and prompts which are not hard to get used to, but again I liked the functionality and familiarity of Tortoise SVN.
Also since all of my shop uses Tortoise SVN via Windows Explorer, the transition to Visual SVN ins't such a big deal other than adding the nice integration directly into VS.NET. I suffered none of the pitfalls commented in the other posts here (most are from 3-4 years ago it seems) when I used VisualSVN over the last 30 days.
So here is what I say: if you are a heavy user of Tortoise SVN and like how it works, go with VisualSVN. If you are new to Subversion and really don't care, then going with the free AnkhSVN with its additional integrated features is probably the way to go.
That question you asked boils down to personal preference but I would advise you to have IN ADDITION to the ide client either Tortoise SVN or the command line client. You will often be forced into positions where the IDE client cannot perform the task you need.

Ribbon UI for Visual Studio 2010 or beyond? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
One of the PDC2008 presentations showed off the new VS2010 UI (not the same as the current beta) that was built with WPF. Some of the new code effects looked fairly nice (comment xml parsed and styled within the code editor).
It got me wondering if Microsoft would ever change the VS UI to the Ribbon; like Office, the change could possibly be forced with no 'classic' mode.
Would you embrace such a change?
From what I gather
Advanced programmers: minor change, hot keys are the same.
Intermediate/Beginner programmers: considerable change, every button has moved!
New programmers: Context sensitive ribbons help emphasize what they may do and where.
It all depends on how it would be implemented.It could be a good thing, but just in case I would like it to be optional:)
Rico Mariani mentions several times that he does not like the Ribbon for VS, so I don't think it will be implemented any time soon.
If they did that, I would predict that the biggest backlash of developers ever would occur. The Ribbon is a great evolution of the File menu, but it does not solve all problems, and it's no where near mature enough for an application like VS.
I honestly believe that such a move would make many devs move to something like SharpDevelop. Including me. The best move wold be to make the Ribbon style menu optional, and NOT the default.
I absolutely love the Ribbon Interface for MS Office, because it is so intuitive, but I would hate it for Visual Studio. MS Office is a program for everyone, so it should be easy to use for everybody, but VS is a specialised application designed for experts.
Bad Bad Bad... I already remove all the toolbars that exist in favor of a custom created one which contains about 15 select commands from all over the place.
I don't need a ribbon cluttering up my workspace.
I'm a huge fan of the ribbon, but it would be horrible if they implemented a ribbon-like UI on VS if it hogged too much screen real estate and kept me from seeing my code.

DevExpress Refactor Pro vs JetBrains ReSharper

In my department, we are currently using ReSharper 4.0 and deciding whether to upgrade to 4.5 upon its release next week. I personally am a huge fan of ReSharper however a number of my colleagues have pointed out that they have been using a plug in from DevExpress called Refactor Pro that performs similar functionality.
http://www.devexpress.com/Refactor
http://www.jetbrains.com/resharper/beta.html
Has anyone previously compared these tools and hold any strong views on which tool would give us the greatest increase in productivity and why?
In my department, we also use ReSharper. Today, I installed 4.5, but had already used 3.something, 4.0 and 4.1 before. It really offers many great refactoring and code-writing supporting functions, renaming methods and functions, reordering parameters...
What I really like is that according to your corporate code style, you can configure ReSharper to give you hints on style violations in different severity levels (and quickly apply according changes, like MS StyleCop, but much easier to configure and more subtle).
My absolute favorite feature is Class-Searching by entering only the CamelCases, i.e. you type TSHWLOV and ReSharper will know that you mean the class from some referenced library named 'TerrificSearchHelperWithLotsOfVoodoo'.
Last year I have tried the DevExPress CodeRush/RefactorThis-Alternative, after I was quite impressed by the things that Oliver Sturm did with it on BASTA Spring 08.
The interface catchier and more impressive than Resharper, there are huge arrows flipping around your IDE and things like that, though the core functionality is rather similar.
I had the feeling that CodeRush is more focussed on code creation than on refactoring, i.e. more shortcuts for tasks like creating variables etc.
My favorite feature there was a sidebar, which always shows you all keyboard-shortcuts available in your current context. This makes you learn those commands quickly, where in ReSharper you have to look up most of them in nested submenus.
Both suites are really powerful and it after months of using them you will probably still discover new functions, which you have always needed without knowing it.
However, I decided in favor of ReSharper mostly because of I was more familiar with it and DevExpress was using much resources on my notebook and occasionally even slowed it down. By now, I use a much more powerful machine again, maybe I will give it another try soon.
I personally prefer CodeRush.
I find R#'s interface drives my (admittedly minor) OCD tendencies crazy. The little lightbulb insists on appearing on the far left of the screen, even if it's advice pertains to something in the middle or on the right. I find it garish and distracting.
By contrast, CodeRush's equivalent smart tag is lower contrast and smaller. It is therefore capable of locating itself within the code without distracting from said code. I find I can ignore this SmartTag when I need to, and it is always right in front of me when I decided I need it.
It is mainly this, that has prevented me from wanting to explore R# any further.
As far as CodeRush's feature set: Code Analysis, Refactorings, CodeProviders, Templates, TabToNextReference, QuickNavigation and many more.
I especially like CodeRush's extensibility which has allowed myself and several others to create many plugins for use within it. (http://code.google.com/p/dxcorecommunityplugins/)
CodeRush also has some top quality support and a very active community of users.
Certainly neither R# or CodeRush will suit all users. Every one has their own preferences. However, if you've not tried both, you should certainly do so.
If you come from the R# side of the equation and are looking to test out CodeRush, then you may find the compatibility plugin useful (http://code.google.com/p/dxcorecommunityplugins/wiki/CR_ReSharperCompatibility)
In addition CodeRush has a Free edition 'CodeRush Xpress' which Microsoft commissioned DevExpress to create, and which they have licensed on behalf of every user of Visual Studio 2008. This partnership will continue into VS2010 upon it's release.
If you have any questions regarding CodeRush you can find details for contacting me at the bottom of my community wiki page.
I should say that I do not work for DevExpress. I am what you might call a DevExpress MVP. To maintain this position, I answer questions in the DevExpress forums (and nothing else).
Everything I say is my own honest opinion.
If you have any questions, feel free to contact me :)
I'm using DevExpress which has a lot of "hidden" functionality, so you need to read the manuals to know how to activate some of the functionality. I find it very passive and subtle.
I used ReSharper and found it buggy and very invasive in my coding style. Bracket-closing drove me nuts, it ignored my preferences and couldn't cope with how I write my lines of code - which may not be most efficient but it's one of those things that ain't gonna change!
I've tried both, and really didn't get along with ReSharper. I found it to be just too intrusive for my coding style. When I switched to CodeRush / Refactor! it was like I'd found the perfect aid to my productivity. The refactorings are, for the most part, exactly what I wanted to see from this kind of product.
It is, however, horses for courses and you may well find that you prefer ReSharper. The best advice I can give is to try the other products and see which you prefer.
The only correct answer is to use both, of course! I do. You need a beefy laptop though. If I had to choose only one, I'd choose ReSharper... I think the static code analysis is a lot better.
ReSharper has a lot of great features, and DevExpress has a lot of great features.
When you put the two together, you end up w/ whole lot of AWESOME.
You need to jump through a few hoops to make them play nicely together: http://frazzleddad.blogspot.com/2010/01/making-devexpress-resharper-play-nicely.html
R# 4.5 is a free upgrade if you have a 4.0 license. So I'd suggest to get and use it - changing the "productivity tool" is always a pain because you'll have to get used to different ways, keyboard shortcuts etc. of doing things - no matter how good the tool actually is.
I have a personal copy of Refactor Pro but I use R# 4.1 at work with the StyleCop add-in as that is the team standard tool. I like RfP's arrows and code positioning stuff which is better than R#. Otherwise the tools are very similar.
However, at this time, its the StyeCop add-in that swings it in favor of R# for me.
Cheers
Benjy

Resources