Visual Sidekick 3 Help
Contents Page

Filtering

Overview

"Filtering" is the ability to generate a shortlist of symbols in the Browse Tree based on a sub-string expression. Visual Sidekick enables this through the use of two edit boxes: the Primary Filter and the Secondary Filter.

Basic Concepts

Accessing the Filters

The Primary Filter can be accessed at any time from inside Visual Studio or Visual Sidekick by pressing Ctrl-Q (Q for Global Query) or Ctrl+Shift+L (for Local Query).

The Secondary Filter can be accessed by pressing TAB when the Primary Filter has focus.

The Blank Filter

When no filter text is present in both filters, all Browse Tree objects are displayed. Global Symbols are not displayed as there are usually too many global symbols in a solution for this view to be of any use at this level.

Filter Buttons in Browse Toolbar

The Browse Toolbar includes buttons that control the state of the filters:
Browse Toolbar Button 2003 Icon 2005 Icon Hotkey Description
Clear Filter Ctrl-Shift-Del Clears both Filter Boxes and sets focus to the Primary Filter.
Previous History State Ctrl-Alt-Left Arrow Changes both Filters and the Browse Tree to the "previous" state in the history list.
Next History State Ctrl-Alt-Right Arrow Changes both Filters and the Browse Tree to the "next" state in the history list.

Global and Local Views

Pressing Ctrl+Shift+L will automatically select the Local View, allowing filtering of symbols within the current file.  Pressing Ctrl+Q will select the Solution View if the Local View has focus, allowing filtering of symbols across the solution.

The usage concept for these two keys is to use Ctrl+Shift+L as a replacement for Ctrl+F (Find) or Ctrl+I (Incremental Find) when looking for symbols in the current file, and to use Ctrl+Q as a replacement for Ctrl+Shift+F (Find In Files) when looking for symbols outside the current file.

Sub-String Filters

Below are some of the more common search tasks:
Symbol Search Tasks How to do it
Must start with a sub-string Type the sub-string directly into the Primary Filter (no preceding white space)
Must contain a sub-string Type a space first then type the sub-string (use the Primary Filter)
Must start with a sub-string AND contain one or more sub-strings Mix the above two steps together (use the Primary Filter).
Some examples appear below:
Primary Filter Text Desired Effect
cmy Find all symbols starting with "cmy"
[space]dlg Find all classes with the word "dlg" or "Dlg" or "DLG".
c[space]dlg Find all classes starting with a "c" and including the text "dlg".
c[space]my[space]dlg Find all classes starting with a "c" and including the text "my" and "dlg.
Note: all filter text is case-insensitive.

Class Member Filters

The Secondary Filter is used to perform a filter on class name and member name simultaneously.

Examples:
Primary Filter Text Secondary Filter Text Desired Effect
cmyapp on Display all methods/members of CMyApp that start with "on"
cmyclass * Display all methods/members of CMyApp.
[space]dlg [space]draw Display all methods/members with "draw" in their name, for classes with "dlg" in their name.