Click on any symbol and see its definition in the VA Navigation Bar. The Definition field works in concert with the Context field to give you more detailed information for a symbol.
When not on a symbol, the Context field contains an orange arrow and identifies your current scope. The Definition field contains details of the scope. For example, when you are within a for statement, the Definition field contains the for condition.
When at global scope, the Definition field contains the full filename with path of the current file.
When the caret is on a symbol with multiple definitions, the dropdown arrow at the right of the Definition field opens a list of all definitions of the symbol. The list is informational only; selecting in the list causes no action.
Clicking on an unknown symbol makes the Definition field go blank.
Icons
Icons in the Definition field describe symbols. The icons are identical to those in the Class View, and include the following:
Classes
Protected Classes
Private Classes
Structs
Protected Structs
Private Structs
Public methods and functions
Protected methods
Private methods
Public members and variables
Protected members
Private members
Namespaces
Preprocessor macros
C/C++ Header Files
When the caret is on a #include statement in C/C++, the Context contains the base name of the header file and the Definition field contains the full path of the header file. The path you see is the one Visual Assist uses to find the header file, which is typically the same one used by the compiler.
If Visual Assist finds the incorrect header file, you should correct the problem by updating your IDE settings or the Directories node in the options dialog of Visual Assist.
Evaluate All Macros
For C/C++ users, definitions reflect moderate evaluation of typedefs and preprocessor macros during parsing of definitions. In this way, Visual Assist displays definitions in meaningful terms; definitions are not evaluated to base types alone. For example, the Definition field indicates myFn() returns a MYTYPE
, not an int
, despite the fact MYTYPE
is a typedef for a int
.
By default, Visual Assist evaluates only preprocessor macros that take arguments, i.e. those defined with (). For example, the Definition field shows foo
is a MYINT
, not a long
.
You can force Visual Assist to be more aggressive in evaluating preprocessor macros by modifying the registry. When in this mode, the Definition field often shows base types.
Copying a Definition
Right+Click in the Definition field to copy its content.
Top or Bottom
Specify the location of the VA Navigation Bar in the options dialog. Disable the feature, or eliminate the IDE's Navigation Bar or Wizard Bar, to conserve space in your source windows.
Registry Settings
Value Name | Meaning |
---|---|
EnhanceMacroParsing | Parse nested preprocessor macros |