Definition Field

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.

definition.gif

When not on a symbol, the Context field contains a yellow 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.

definitionScope.gif

When at global scope, the Definition field contains the full filename with path of the current file.

definitionGlobalScope.gif

When on a symbol with multiple definitions, the dropdown arrow at the right of the Definition field opens a list of all definitions.

definitionDropdown.gif

Icons

Icons in the Definition field describe symbols. They are identical to those in the Class View.
type_class Classes
type_method_public Public methods and functions
type_method_protected Protected methods
type_method_private Private methods
type_member_public Public members and variables
type_member_protected Protected members
type_member_private Private members
type_define Preprocessor macros

C/C++ Headers

When the caret is on a #include statement in C/C++, the Context contains the base name of the header and the Definition field contains the full path of the header. The path you see is the one Visual Assist X uses to find the header, which is typically the same one used by the compiler.

definitionInclude.gif

If Visual Assist X finds the incorrect header, you should correct the problem by updating your IDE settings or the Directories node in the Visual Assist X options dialog.

Evaluate All Macros

For C/C++ users, definitions reflect moderate evaluation of preprocessor macros during parsing of definitions. In this way, Visual Assist X displays definitions in meaningful terms; definitions are not evaluated to base types alone. For example, the Definition field tells you UpdateData() returns a BOOL, not a long, despite the fact BOOL is a typedef for a long.

definitionEvaluate.gif

By default, Visual Assist X does not evaluate preprocessor macros that do not take arguments, i.e. not created with (). You see the name of the macro in the Definition field.

definitionEvaluateLess.gif

You can force Visual Assist X to be more aggressive in evaluating preprocessor macros during parsing of definitions. When in this mode, preprocessor macros are evaluated as deeply as possible. You see base types in the Definition field, and in hovering tooltips.

definitionEvaluateMore.gif

Copying a Definition

Right+Click in the Definition field to copy its content. The other items in the Right+Click menu do not serve any useful purpose.

definitionCopy.gif

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 the space in your source windows.

vaNavBarOptions.png

Miscellaneous

The Definition field describes the current selection when scrolling through listboxes.

Clicking on an unknown symbol makes the Definition field go blank.

The separator between the Context and Definition fields is movable.