Visual Assist enriches the navigation and code understanding capabilities of Microsoft IDEs with the VA View. The best and most commonly used features of several IDE views are assembled and reworked in the VA View. Similar in behavior to the Solution Explorer, the VA View remains open as you edit.
The VA View complements other views of the IDE; it does not replace them. The VA View typically remains in the foreground during routine editing—simplifying navigation and displaying essential information. The VA View eliminates the hunting and pecking often required when using IDE views.
The VA View has four components, each of which is documented separately:
- Files in Solution drop-down
- Symbols in Solution drop-down
- Most Recently Used List (MRU)
- Hovering Class Browser (HCB) with integrated Header Hierarchy
The VA View is created during installation of Visual Assist. If the VA View is not visible, select VA View from the VAssistX | Tools menu.
The VA View can float, hide, dock, or be tabbed with other windows.
The separator between the Most Recently Used List and the Hovering Class Browser is movable.
You can eliminate the VA View from a tabbed Solution Explorer window by dragging its tab outside the window. Optionally, dismiss the newly created window.
Visual C++ 6.0
Eliminate the VA View by unchecking Enable VA View in the C/C++ 6.0 node of the Visual Assist options dialog.
Files in Solution
The Files in Solution drop-down is one of two efficient methods to find and open files in your solution. The documentation for the more powerful Open File in Solution dialog also describes the Files in Solution drop-down.
Symbols in Solution
The Symbols in Solution drop-down is one of two efficient methods to locate symbols in your solution. The documentation for the more powerful Find Symbol in Solution dialog also describes the Symbol in Solution drop-down.
Most Recently Used List (MRU)
Visual Assist keeps a list of most recently used (MRU) objects in the VA View. The list provides efficient navigation among objects as you write code. Move among your active objects—files, class, methods, functions, and recently found symbols--without hunting through long lists and navigation dialogs.
By default, only items selected from the Files in Solution and Symbols in Solution drop-downs appear in the MRU. Selecting an item from either drop-down adds the item to the top of the MRU.
When focus is in the VA View, tab to the MRU and use arrows or the mouse to navigate the list. Open a file or bring it to the foreground using Enter or Double-Click. Select a symbol to go to its definition or implementation.
Selecting an item in the MRU returns it to the top of the list.
MRUs are stored per solution, and restored when solutions are re-opened.
Hovering in the MRU
Hover over file names to see paths.
Hover over symbols to see definitions.
Controlling Content of MRU
Open the context menu of the MRU to go to an entry, clear a selected entry from the list, or clear all entries.
Use the context menu also to include content aligned with your programming habits:
- If you allocate a lot of space for the MRU and use it as a primary navigation method, include all opened files to see those opened with GoTo Implementation, GoTo Related, Open Corresponding File, Solution Explorer, and more. (Files opened with the Files in Solution drop-down and Open File in Solution dialog always appear in the MRU.)
- If you are a C/C++ user who stores one method per file, consider including only modified files. (Modified files are a subset of all opened files.)
- If you are a C# user who stores numerous methods in each file, include modified methods. (If you store one method per file, go to "methods" by file name.)
Icons in the MRU
Icons in the MRU identify sources of entry in the MRU, and whether or not items have been modified since entry. The modified flag, a pencil, remains until an item is cleared or falls from the MRU. Modified flags are not removed when you save files.
Sources of entries in the MRU include:
- File was opened.
- File was modified.
- Symbol was selected from the Find Symbol in Solution drop-down or dialog.
- Method or function was modified.
MRU for No Solution
Visual Assist maintains a special MRU visible only when no solution is open. This MRU typically contains files you open or modify that are outside all of your solutions. If your IDE starts without a solution, you see this MRU when the IDE starts. When you close a solution, the MRU reappears.
MRU for Concurrent IDEs
If multiple instances of an IDE open the same solution, the last instance to exit stores the MRU list.
Hovering Class Browser (HCB)
The Hovering Class Browser (HCB) within the VA View provides more information for a symbol than what is available with Quick Info. The HCB is extremely valuable when browsing or editing unfamiliar code.
Hover over a class or namespace to see contents of the object in the HCB.
With default settings, hover over a non-class symbol such as a preprocessor macro, enum, global function, or system method, and the HCB displays information for the symbol. If applicable, other symbols within the same data structure are shown, giving you the opportunity to find related symbols without consulting documentation.
Symbols defined in multiple ways, e.g. overloaded methods, have multiple entries in the HCB.
Hover over a symbol in the HCB to see more information about it, including comments and location.
Expand an item in the HCB to drill down into enums, structs, and inherited classes.
Double-click a symbol in the HCB to go to its definition. If you use the keyboard to navigate the HCB, tab and arrow to a symbol, then press Enter to go to the definition.
Context Menu in HCB
Open the context menu for additional commands and settings.
Frequency of Update of HCB
By default, the HCB updates when you hover over symbols in your source. Use the context menu of the HCB to specify additional events that force updates. You can select few or multiple options, for infrequent or frequent updates.
The HCB does not update when you hover over white space, a comment, or an unknown symbol.
Header File Hierarchy in HCB
Enable "Display includes when at top of file" to make the HCB display a hierarchy of header files when the text caret is near the top of the active document.
The hierarchy begins with the header files included by the active document.
If "Update on position change" is enabled, the hierarchy appears when you move to any #include directive in the active document, i.e. not only when the text caret is near the top of the active document.
Header files external to the solution are identified as such.
Circular references are identified as well.
Visual Assist works in code that does not compile, and in code that is not part of a project. Hence, some header files may not be found. These missing header files are identified in the hierarchy.
The entire header file hierarchy can be expanded at once via the context menu. The hierarchy, without external header files, is also copied to the clipboard for printing or documentation.
Massive hierarchies require additional time to expand and copy.
Whether or not the header file hierarchy is set to appear automatically, you can force it to appear from any location in the active document using VAssistX | Tools | List include files, or via a shortcut for VAssistX.ListIncludeFiles.
Refactor from the HCB
When an entry in the HCB has focus, the context menu of the HCB includes refactoring and navigation commands specific to the entry.
Pin Results of HCB
Temporarily prevent content of the HCB from changing using the push pin in the top right of the HCB. Change status of the push pin to return the HCB to normal operation.
If you use the keyboard to navigate the HCB, you can tab to give focus to the push pin and press Space to toggle its value. You also have the option of assigning a shortcut to VAssistX.VAViewHCBToggleLock.
You can navigate the VA View entirely by keyboard. Tab and Shift+Tab through elements, and assign shortcuts as desired. All shortcuts cause the VA View to be made visible.
|Command||Elements to Get Focus|
|VAssistX.VAView||Element of last activation|
|VAssistX.VAViewFIS||Files in Solution drop-down|
|VAssistX.VAViewHCB||Hovering Class Browser|
|VAssistX.VAViewHCBToggleLock||Push pin (Space toggles the pin)|
|VAssistX.VAViewMRU||Most Recently Used List (MRU)|
|VAssistX.VAViewSIS||Symbols in Solution drop-down|
|VAssistX.ListIncludeFiles||Header file hierarchy of the Hovering Class Browser|
|VaViewGotoDefinition||Jump to the header file when double clicking in VA View|