Here’s your Game Changer for 2014: IntelliRush in CodeRush 14.2

Mark Miller
21 November 2014

So you may have noticed, I only use the term “Game Changer” for features that dramatically change and improve the way you work as a developer. The last time I used the term was two years ago, when we introduced the Debug Visualizer for CodeRush.

The CodeRush team has been working on a revisualization of Intellisense designed to enhance existing functionality and add new abilities. The end result we’re calling IntelliRush, and it’s faster and more capable of exploring and entering code than anything you’ve seen before.

No Changes to the Way You Work

Well, we’re going to make you faster, but if you choose to, you can use IntelliRush exactly the same way and pressing exactly the same keys you’re already familiar with. Also, you can enable or disable IntelliRush at any time using the IntelliRush button on the DX toolbar or on the Editor\IntelliRush options page. However, if you want more…

See More

Visual Studio’s built-in Intellisense restricts you to a small window that shows only nine entries (sometimes that small window is a view into hundreds of symbols to scroll through). Small views into big data can be frustrating and take a long time to navigate. IntelliRush helps you find what you’re looking for faster by letting you see more entries without scrolling. And you are free to resize the window to suit your preferences and style of working:

IntelliRushShowsMore

Auto-sizing Width

Even though IntelliRush shows more entries, it continually works to only take up as much width as needed to show visible entries. This lets you see more code and places symbol hints closer to the entries, so your eyes don’t have to travel so far to the sides to read the hints.

In the comparison below, watch how IntelliRush automatically narrows its width depending on the contents in view:

IntelliRushAutoWidth

Filtering (by Symbol Kind)

One of the features we are most excited about is filtering. Have you ever tried to use the built-in Intellisense to find an event, property, interface, delegate, or class, only to realize you were spending a lot of time looking at everything else you didn’t want?

Now, with the smallest effort, you can see a list of in-scope entries that exactly match the kind of symbol you’re looking for.

Here’s how it works:

  1. Inside Visual Studio bring up IntelliRush (like you normally would bring up Visual Studio’s built-in Intellisense).
  2. Tap (quickly press and release) the Ctrl key.
  3. Press the highlighted letter of the filter you wish to apply.

For example, to see only Events, simply tap the Ctrl key and then press the letter “E” key. IntelliRush will show only events:

FilteringOnlyEvents

To see only Properties, simply tap the Ctrl key and then press the letter “P” key:”"

FilteringOnlyProperties

You can filter on:

  • Namespaces
  • Classes
  • Structs
  • Interfaces
  • Enums
  • Delegates
  • Methods
  • Properties
  • Events
  • Fields
  • Locals
  • Visual Studio Code Snippets

Got it? Simple. Easy. Fast. And it helps you narrow down on what you want, obliterating the visual noise caused by everything else.

Filtering by Symbol Text

Now when you filter the list by typing text in the editor, you can see your filter as it applies to each entry.

FilterVisualization1 FilterVisualization3

Overload Exploration

Many developers use Intellisense as an exploration tool, to learn about frameworks and classes declared in large solutions or in referenced assemblies. Here’s an example of what Visual Studio’s built-in Intellisense gives you when you’re on a method with overloads:

IntellisenseOverloads

IntelliRush provides this as well, and then takes it to the next level, giving you a syntax-highlighted submenu for the method overloads (available if you press the Right arrow key).

SubmenuDetail

Now you can easily compare the overloads side-by-side, and select the one you want. After selecting an overload, CodeRush can optionally insert TextFields for you into the code, so after specifying an argument, you can jump to the next argument by simply pressing Enter. It looks like this:

IntelliRushTextFields

More Enhancements Coming

Unfortunately we didn’t have enough time to squeeze all the IntelliRush features we wanted into this 14.2 release. The good news is that significant usability enhancements (to improve the speed and ease of exploration, and to widen IntelliRush scope to include CodeRush templates) are expected in future releases.

Try IntelliRush out and let us know what you think.

15 comment(s)
Hans Nieuwenhuis
Hans Nieuwenhuis

Cool as ever!

21 November, 2014
Carlitos
Carlitos

Excellent!!!

22 November, 2014
Jim Foye
Jim Foye

The other day I was pondering how much time I was spending looking for an event, and how there was no filter in intellisense, and why nobody had ever done anything about it. This will be a big time saver.

The overloads feature also is great.

22 November, 2014
Joëlle Perritaz
Joëlle Perritaz

This is just great ! Looking forward for it

23 November, 2014
Crono
Crono

Out of every new features in the whole 14.2 Universal release, this is the one I'm the most excited about. I've always felt that the CodeRush team could do a much better version of Intellisense, which is most certainly the tool I'm using the most at every single day. I can't wait to use it! :D

25 November, 2014
Neal
Neal

Any chance of font size control over the popup such as to make the fonts larger?

25 November, 2014
Daz
Daz

The Intellirush button on the toolbar doesn't appear to have a selected state. Can't tell when it is on or when it is off.

26 November, 2014
Kevin McFarlane
Kevin McFarlane

Looking forward to this! :)

26 November, 2014
Mark Miller (DevExpress)
Mark Miller (DevExpress)

Hi Daz,

The selected state should include a small green circle over the icon when IntelliRush is active. I asked the team to try to reproduce and they were unable to using the beta installed in VS 2010, VS 2012, and VS 2013. I suggest contacting support@devexpress.com with more details on how we can reproduce.

26 November, 2014
Mark Miller (DevExpress)
Mark Miller (DevExpress)

Neal, font size for IntelliRush is controlled the same way you control the font size for Intellisense.

1. In VS menu: Tools | Options

2. Environment\Fonts and Color options page

3. Show settings for: Statement Completion

4. Pick your font size and click OK.

Font size for the Overloads menu items, hinting, and syntax highlighted declaration hints will also use the Statement Completion font by the final 14.2 release.

26 November, 2014
Orhan ÖCAL
Orhan ÖCAL

Very nice :)

26 November, 2014
Pierre Arnaud
Pierre Arnaud

I was excited to see all the new goodness coming. Here are my comments on the feature:

- I feel that the auto-sizing (width adjustment) of the menu is not a progress: now, I have to actively search for the right margin, because it will move while I type; yes, my eyes have less to travel, but this takes some thinking. With a constant width menu, my eyes know where to look.

- I can resize the menu, and then the width seems to remain stable; however, I cannot make out the logic: there seem to be different sizes which are remembered by the tool. Why not just one size? And a lock to ... lock the size?

- The filter is a nice addition.

- I am missing an exception filter (X?). I was expecting the filter to be smarter, allowing me to type "throw new System." and see only classes deriving from System.Exception in my list. More contextual stuff... or if I have an argument of type IFoo, that if I do "new " I get only classes which implement IFoo in the default suggestion.

5 December, 2014
Furkan Ekinci
Furkan Ekinci

Finally! Thanks for this feature. It is awesome!

18 December, 2014
asciiman
asciiman

hi

i wanna see only nine entry. Is this possible ?

19 August, 2015
Mark Miller (DevExpress)
Mark Miller (DevExpress)

Hi asciiman,

You can submit your request to limit IntelliRush results to nine entries as a feature suggestion through Support Center (www.devexpress.com/.../Create) or via email to support@devexpress.com.

19 August, 2015

Please login or register to post comments.