I’ve blogged before about how LINQ-to-Objects, at it’s most basic, is just about building on top of enumerating, one at a time, over collections via MoveNext(). It wraps it up in a beautiful API, but it’s still generally crawling through collections. I wanted to give an example of this in more depth and how the … Continue reading Debunking the LINQ “magic” myth again
CodeRush for beginners!
Quick post just highlighting the fact that the newest versions of CodeRush have had a few really good features added which makes CR much more accessible for new users. Most important of all for new users is the addition of multiple settings schemes, including a “FrictionFree” scheme. My main criticism of CR has always been … Continue reading CodeRush for beginners!
Final thoughts on Code Rush
Having now spent a fair amount of time with the “full” version of CodeRush + Refactor, I thought it best to give a sort of conclusion as to my experiences with it. Overall thoughts Overall, my experiences are largely very positive, particularly around the general, frequently used refactorings – little features like being able to … Continue reading Final thoughts on Code Rush
A quick update…
Just a short update on my lack of blogging lately. I’ve actually only recently got back to proper full-time coding now as my house move is almost finally complete. As of today I even have a table I can eat dinner off. Anyway… I’ve been finishing off my CodeRush review (honest) and also lately trying … Continue reading A quick update…
CodeRush Review Part 2
Continuing my review of CR… In my first posting I gave an overview of some of the main differences between CR and CRX. I want to touch upon some of the other features that I didn’t mention in my last post, as well as give an update on how I’m finding using CR. Code Templates … Continue reading CodeRush Review Part 2
CodeRush Review Part 1
I decided to give the full CodeRush + Resharper! suite a go, with a view to upgrading from the free (and excellent) CodeRush Express Visual Studio 2010 plugin. I really like CRX, to the extent that in the past I have explicitly removed an install of Resharper because it interfered with CRX too much. So, … Continue reading CodeRush Review Part 1
VS2010 Extensions
Some good VS2010 extensions that I’ve found recently… Highlight all occurrences of selected word – VS2010 sort of does this out of the box, but this is much better. Double-clicking any word will highlight all occurrences, even string matches (within quotes) or if they are in collapsed regions (in which case the region is highlighted) Solution Load Manager – you can specify at the solution level which projects to load up-front and which to load either explicitly or when accessed through solution explorer. A really good idea which can massively speed up solution load time. PowerCommands for VS2010 – As per 2008. It (sadly) even has the same annoying behaviour of opening and pinning the Undo Close pane on startup! ADO .NET C# POCO Entity Generator – generates POCO objects for your EF model. I’ve also been trying out CodeRushXpress v10 on VS2010 – sadly it seems to still be quite unstable, often going walkies and simply not responding to the CTRL ‘ key-combination.
Keyboard shortcuts in Visual Studio
Roy Osherove (a TDD expert) recently ran a load of sessions in the UK and posted how by getting delegates to try going “mouse-less” when using VS2008, he observed a 3x increase in productivity. Think about that – that’s a remarkable statistic if true. Firstly, most people don’t associate keyboard usage with efficiency + productivity, and secondly, most of us (I certainly) wouldn’t have thought that you could use the keyboard to replace the mouse. Then I thought about it and tried to see what I use the mouse for and what I use the keyboard for when using VS, and came up with a list of things that I do use the keyboard for: - find references go to definition tab management navigate through errors compiling run unit tests But there are some areas that I don’t use the keyboard for, and thought about trying to start using it instead. Here are some areas that I found useful to keyboard-ify. Have a look through these and try them out – some of them are excellent, and I didn’t even know existed in VS until I spent 15 minutes digging around. File Navigation This is as basic as navigating through a file. This sounds silly – of course you can use the cursor – but sometimes you want to move a few pages down at a time, or perhaps to the end of the current method etc. Scroll up / down (keeping caret fixed): CTRL + UP / DOWN Move to scope boundary (if the caret is on a start brace, automatically move to end brace): CTRL + ] Incremental Find (finds the next word in the current file - as-you-type!): CTRL + I I’d like the ability to move from the middle of a method to the start / end of it, though. Intellisense Either to get intellisense for a keyword you’re typing, or just to get the helpful tooltip that is shown when hovering over any symbol in VS. Quick Info (same as hovering over a symbol): CTRL + K, CTRL + I Parameter Info (what you get when entering parameters in a method, but on demand): CTRL + K, CTRL + P Complete Word (if you’re halfway through a keyword and want VS to finish it for you): CTRL + SPACE Outlining This includes collapsing and expanding different areas of your code, including regions, classes, methods and properties. Collapse / expand current region: CTRL + M, M Collapse all methods / properties in class: CTRL + M, O Expand all methods / properties in class: CTRL + M, P Solution navigation This includes finding files that are currently open, as well as moving to another file in the current solution without needing to resort to Solution Explorer. Switch to other open file visually: CTRL + TAB Switch to other frame (e.g. solution explorer, test results): CTRL + TAB, UP/DOWN/LEFT/RIGHT List open files in pop-up menu: CTRL + ALT + DOWN Open solution explorer: CTRL + W, CTRL + S Solution find (find anything in the solution – CodeRushXpress only): CTRL + SHIFT + Q I’m going to try using the above for a week or two and see how I get on with it.
CodeRush 9.2.4 – no String.Format??
I was going through CRX 9.2.4 trying to find out what's new and what's not - and noticed that the String.Format refactoring appeared to be missing - this is a really useful one that lets you highlight some text such as "Isaac is " + age + " years old" and replace it with something like String.Format ("Isaac is {0} years old", age). Apparently this is because the people at DevXpress were so eager to give us CRX 9.2.4 that they forgot to bundle the assembly that that refactoring add-in lives in! You can email DevXpress directly if you want it... or wait for the next version 🙂
CodeRush Xpress 9.2 out
I'm actually quite a big fan of CodeRush Xpress (CRX). My biggest criticism of 9.1 is the performance and memory leaks in it. In a large VS 2008 solution (30+ projects), it's not uncommon for me to see memory usage to top 500mb. So, you end up restarting VS once or twice a day to get it responsive again - although even with that caveat, you still save time and write neater code using CRX. Anyway, CRX 9.2 has just been released - apparently this fixes all (or maybe most?) of these issues. Just downloaded - will comment on it as I use it more. http://www.devexpress.com/Products/Visual_Studio_Add-in/CodeRushX/ Try it - you might like it!