Home > Navigation, Tool Windows, Visualization > The References tool window also known as Find All References

The References tool window also known as Find All References

October 12th, 2012

The References tool window is designed to search, navigate and review the identifier references in the entire solution. This is what it looks like:

CodeRush References Tool Window

You can bring it up via the DevExpress | Tool Windows | References menu item or by pressing the Shift + F12 shortcut.

The main window contains a toolbar, the references list, and the code preview area. The layout of the window is configurable using the corresponding tool buttons (Landscape, Portrait, or References Only layouts).

Visual Studio also has a similar built-in feature called Find All Reference (FAR). What’s the difference between the CodeRush References tool window and Visual Studio FAR feature?

First, the user interface. Let’s compare what we will see in the Visual Studio FAR window while looking for the references of the same identifier as in the CodeRush References screenshot above:

Visual Studio Find Symbol Results Window

Next, one of the most important differences is the speed of reference searching. Here are a couple of measures made inside Visual Studio 2010 on one of the main CodeRush core solutions:

References for: Visual Studio FAR CodeRush References
‘Int’ type

(20,528 references)

47,305 sec 24,224 sec
‘String’ type

(31,805 references)

76,258 sec 54,740 sec
‘TextDocument’ object

(609 references)

7,802 sec 2,206 sec

The machine configuration is the following: Intel Core i5 CPU M560 @2.67Ghz, 8.0 Gb, Windows 7 x64.

It seems that the CodeRush References feature might be around 2 to 3 times faster than Visual Studio’s FAR on a medium solution (35 Mbytes of code).

Next, the results organization. In the CodeRush References window, you can do the following:

  • group results by projects
  • group results by source files
  • group results by a namespace
  • group results by a class
  • group results by a member
  • sort references alphabetically
  • sort by reference count
  • increase/decrease the font size
  • see the reference including its parent member’s code preview

In Visual Studio you can:

  • see the full file path and member signature of the reference found.

In addition, the CodeRush references window can search for references in two modes:

  • Live Sync (automatic mode)
  • On Command (manual mode).

If you are in the Live Sync mode, stepping on a reference will automatically look for other references automatically. In the On Command mode, you have to click the Refresh button (or press Shift+F12 again) to search for references. In the Visual Studio FAR feature, there is only a manual mode.

The search mode is toggled on the References window toolbar. Other tool buttons are:

Icon

Caption

Description

  Sort by reference count Sorts the found references by the count in descending order.
  Sort alphabetically Sorts the found references alphabetically in ascending order.
  Show parenting project nodes Allows you to see and group references by the containing project name.
  Show parenting file nodes Allows you to see and group references by the containing file name.
  Show parenting namespace nodes Allows you to see and group references by the containing namespace name.
  Show parenting class nodes Allows you to see and group references by the containing class name.
  Show parenting member nodes Allows you to see and group references by the containing member name.
  Increase font size Makes the references list font bigger.
  Decrease font size Makes the references list font smaller.
  Landscape layout (code preview on right) Arranges the references list on the left and the code preview area on the right of the window.
  Portrait layout (code preview below) Arranges the references list at the top and the code preview area at the bottom of the window.
  References Only (no code preview) Hides the code preview area.
  Visualize references search Shows a progress indicator while searching for references.

In the reference list, you can double-click the reference to navigate to it inside the code editor. The blue arrow marker shows the currently selected reference. While navigating between references, a temporal white marker is dropped, so you can simply press Esc to navigate back to the previous locations.

If you right-click the references list, you can access a context menu with the following menu items:

Menu item

Description

Collapse All Collapses all items in the references list.
Collapse Children Collapses children items of the selected item in the references list.
Expand All Expands all items in the references list.
Reference Highlight Color… Allows you to open the option page for configuring the code preview highlight color (Editor | Painting | Code Previews) in the Options Dialog.
Layout -> Allows you to choose between window layouts (Landscape, Portrait, No Code Preview).

At the bottom of the window there is summary information about the count of references found and how much time it took to find them all.

—–
Products: CodeRush Pro
Versions: 12.1 and up
VS IDEs: 2008 and up
Updated: Oct/12/2012
ID: C199

Similar Posts:

  1. October 17th, 2012 at 08:08 | #1

    This is a really nice feature. I love being able to see the method where it’s used instead of just the minimum context line of code.

  2. February 4th, 2013 at 01:33 | #2

    Thanks a lot! Finding types is an important feature, specially when handling large solutions.