Visual Sidekick integrates into a wide range of Visual C++ and Visual Studio development environment, delivering powerful time-saving features to all C++ and C# developers.
| Symbol Browser | Browsing of all C#, C++ and Managed C++ symbols. |
| Symbol Filter | Sub-string filtering of all symbols and files across the entire solution. |
| Symbol Navigator | Quick positioning of the Visual Studio editor on any symbol declaration, symbol definition or project file. |
| Editor Navigation | Easy flipping between header and source files in the Visual Studio editor, and between method body and header specification. |
| Code Generator | Generation of source code for function bodies from a header class-declaration. |
| Code Metrics | Up-to-date code metrics for the entire solution. |
| Clipboard Buffer | Multiple-history clipboard buffers for pasting from the last 15 clipboard copy operations. |
| Drag and Drop | Folders and source files can be dragged from Explorer and dropped onto Visual Sidekick and immediatly browsed. |
Visual Sidekick adds
three new visual items to the Visual Studio/Visual C++ IDE:
The Toolwindow consists of the following elements (from the top down):
You can move from the Visual Studio editor window to the Primary Filter using Ctrl-Q (Q for Query). You can move between the Filter Box and the Browse Tree using the up and down arrows (or TAB). ESC will return you from Visual Sidekick back to the Visual Studio editor. |
| View | 2003 Icon | 2005 Icon | Hotkey | Description |
|---|---|---|---|---|
| Local | Ctrl-Shift-L | Displays symbols that are context-dependent on the current file. | ||
| Solution | Ctrl-Alt-N | Displays symbols from all files in the current solution. | ||
| Hierarchy | Ctrl-Alt-H | Display an inheritance tree for all solution classes. | ||
| Unmanaged Library | Ctrl-Alt-U | Displays symbols from all files in the selected unmanaged C++ libraries. Libraries include: STL, MFC, ATL, Win32, DirectX, etc. You can select which libraries to load on a per-solution basis. | ||
| Clipboard | Ctrl-Alt-C | Shows the last 15 clipboard copy operations, allowing historical pasting. |
For the Local view, Visual Sidekick displays the following Sections in the Browse Tree:
| Section | Description |
|---|---|
| Projects and Folders | Shows all Visual Studio projects that all folders that contain the current file. Expanding each folder shows the files stored in the folder as well as all classes defined in those files. |
| Types | Shows all types in the current file and all associated files (e.g. the main header), including classes, structs, unions, interfaces, enums, delegates, typedefs. Expanding each type shows all nested symbols. |
| Files | Shows the current file and all #include'd files in an flat alphabetical format. Expanding each file shows the symbols defined in that file. |
| Global Symbols | Shows all symbols defined in the current file and all associated files (e.g. the main header) in a flat alphabetical format. Expanding each symbol shows symbols related to the parent symbol (eg. parameters, parent class, etc). |
For the Solution and Unmanaged Library views, Visual Sidekick displays the following Sections in the Browse Tree:
| Section | Description |
|---|---|
| Folders | Shows all Visual Studio projects and logical folders. Expanding each folder shows the files stored in the folder as well as all classes defined in those files. |
| Namespaces | Shows all namespaces and namespace members in a hierarchical format. |
| Types | Shows all types in the solution including classes, structs, unions, interfaces, enums, delegates, typedefs. Expanding each type shows all nested symbols. |
| Files | Shows all files in an flat alphabetical format. Expanding each file shows the symbols defined in that file. |
| Global Symbols | Shows all symbols defined in all the files in a flat alphabetical format. Expanding each symbol shows symbols related to the parent symbol (eg. parameters, parent class, etc). |
When the cursor is positioned on a symbol in the Browse Tree, double-clicking (or pressing ENTER ) will jump the Visual Studio editor to the position in the file where that symbol is declared. Ctrl-double-click (or Ctrl-ENTER ) will jump the editor to the "alternate" file position:
| Symbol | Double-Click (ENTER) | Ctrl-Double-Click (Ctrl-ENTER) |
|---|---|---|
| Class, Enum, etc | Goto declaration (header) | Goto last position in Alternate file (body) |
| Method, Property | Goto method declaration (header) | Goto method body |
| Member | Goto member declaration (header) | Goto last position in Alternate file (body) |
| File | Goto last position in the file | Goto last position in Alternate file (body) |
| Clipboard Entry | Paste symbol into editor | - |
| Hierarchy Class | Goto class declaration | Goto last position in Alternate file (body) |
Read more about symbol Browsing and Navigating.
Visual Sidekick provides a powerful string filter that is dynamically applied to the current View in the Browse Tree. The filter can be used for many tasks, including browsing a symbol, navigating to a symbol in the current file or anywhere in the solution, finding all definitions of a symbol, finding all symbols sharing a partial name, etc.
Visual Sidekick exposes two powerful hotkeys to enable this functionality. 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 key 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.
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). |
| Search for a method within a class or set of classes. | Type in the class name sub-string in the Primary Filter. TAB to the Secondary Filter and type a second sub-string filter to filter on all nested symbols within those classes. |
A final note:
Read more about Filtering.
Visual Sidekick enhances Visual Studio and Visual C++ by providing some new functions with associated keybindings:
| Command | How to do it |
|---|---|
| Filter Global Symbols | Use Ctrl-Q inside the Visual Studio editor to browse any symbol in the solution. |
| Filter Local Symbols | Use Ctrl-Shift-L inside the Visual Studio editor to browse any symbol in the current file. |
| Header/Source flip | Use Ctrl-ENTER inside the Visual Studio editor to jump between header and source. |
| Method specifiction/ implementation flip | Use Ctrl-Shift-ENTER inside the Visual Studio editor to jump between a method's specification (header) and implementation (body). |
| Browse Symbol under cursor | Use Alt-ENTER inside the Visual Studio editor to load the symbol under the cursor into the Visual Sidekick Primary Filter. Alternatively, you can block the word and drag it onto the Visual Sidekick toolwindow. |
| Paste from Clipboard History | Use Ctrl-Alt-V inside the Visual Studio editor. This will take you to the clipboard history in Visual Sidekick. Select the history item to paste into the Visual Studio editor, and press ENTER. |
| Generate Unimplemented Function Bodies | Use Ctrl-Shift-G inside the Visual Studio editor to generate all method bodies for all method declarations that appear in the current file and any header files. This allows for creating a class specification in a header file, and then with one key-press, generating all bodies in a .cpp file automatically. |
For more information, please return to the Contents page of this document.