CR/R! Wrap up

It’s been about a month since I took the challenge to replace ReSharper (R#) with Code Rush/Refactor! Pro (CR/R!). In that time I have adjusted well to CR/R!. There are a number of areas where I am MORE productive. Yep, I said that. There are a few things I miss (So Mark of DevExpress pay attention).

Code Analysis could improve

Code Analysis is a fairly new feature of CR/R! and as one would expect it’s not quite as strong as R#'s (I do expect this to get better, BTW). Sometimes it doesn’t find references to ASP.NET Server Controls from the Code Behind for instance which tends to make its analysis on ASPX CodeBehind files somewhat unpredictable. I also ran into some speed issues with JS code, but I think it was the network that day (because I haven’t had any issues since).

The other thing I love about R# is that not only does it analyze my code, but it gives me a convenient keystroke that helps me resolve the problem without having to leave where I am. CR/R! is building some of this stuff so we’ll have to wait and see what happens.

Embeddings

I still have a few embeddings that I would like to turn off (with no options to do so -- as far as I can tell)... I suspect I need to dig into the XML config files, but am scared to do so.

For the DevExpress Guys to note the main one I want to get rid of is called "Embed Not Parenthesis." What happens is that I’m in a long "if(...)" and I highlight the first "=" of an "==" (because I stupidly set it to "==" and not "!="), when I type "!" it translates my entry to "!(=)=" which would be nice is I had more than 1 character highlighted.

[If you don’t know what they are let me explain them. Basically with CR/R! if you have a section of code highlighted you can easily wrap that selection with say a region by typing CTL+3 (BTW, # = Shift+3 so the sequence makes sense); when you do that a #region/#endregion automagically wraps your selected code and drops you on the line to set the region text. ]

The embeddings in general could really benefit from a different set of key sequences. it’s too easy to highlight a section of code and accidentally type the single character that creates the embedding... I’d prefer a CTL sequence. Yes, I know I can change them myself, but the defaults make the product frustrating for newbies.

Wish List

Beyond what I have already mentioned I really have 1 wish. I want either an alternate set of keystroke shortcuts for things like Embeddings and single character templates [CR/R! has some single character templates that you type like "c{space}" and a class shell automagically appears] that I can set as the default (so choose something other than what has been the standard) or the ability to package up my settings and be able to easily share them...

Yes, Rory, I have thought about contributing an addin for your community project.

Script# Compatibility

BTW, CR/R! works with Script#! Well, I ran into a few minor difficulties, but I could use it with the product which is all I would have asked for. No crashes, and no real warts.

Final words

Well, the good news for the CR/R! crew is that I’m a convert. I waited too long for VS 2008 from R#, and in that time I realized that there is a different place to go to.

Finding that I can refactor all kinds of things (like HTML code and JS code as well as C# and VB code now if it only did Python... just kidding, Mark... I don’t need it) really sealed the deal.

If you are trying out CR/R! you should get the Rory’s latest zip file containing all the community plugins. You should especially install "Refactor_Resolve" from this zip file (You’ll want it!). This is the plugin that was written by Koen Hoefkens. BTW, these plugins I think all run with DXCore, so if you don’t have a license to any kind of Refactoring product then you might want to consider installing DXCore (it’s free) and then installing these plugins... they can make your life a little easier.

Print | posted on Thursday, August 21, 2008 1:25 PM

Feedback

# re: CR/R! Wrap up

left by Jimmy Bogard at 8/21/2008 10:52 PM Gravatar
What about things like the navigation features? I feel I'm using Ctrl+B, Ctrl+Alt+B, plus Find Usages, far more than actual refactorings.

# re: CR/R! Wrap up

left by Travis Illig at 8/25/2008 12:00 PM Gravatar
For the "Embed Not Parenthesis" thing, you can turn that shortcut off. Go to:

DevExpress -> Options -> IDE -> Shortcuts

Find the Selection/Embedding section, then select the "Shift + 1" as the shortcut. There's an "Enabled" checkbox you'll see; uncheck that and hit "Apply."

I've turned off that one and the ones that embed things in any other parens or brackets.

To my knowledge, there's no API for creating or removing shortcuts, so you have to do all that manually (which means you can't distribute a plugin that does any auto setup of desired defaults). I haven't found an API for adding new templates, either. :(
Title  
Name
Email (never displayed)
Url
Comments   
Please add 8 and 8 and type the answer here:
div>