Parse nested preprocessor macros

Visual Assist parses nested preprocessor macros but only to a limited depth, assuming you want to see intermediate evaluations as definitions of symbols. But by limiting the depth of parsing, Visual Assist will not know about symbols defined only when preprocessor macros are evaluated deeply. For example:

#define BEGIN_NAMESPACE_SHAPE namespace SpaceShape {


// unknown or improperly defined symbols appear here.

Tell Visual Assist to evaluate nested preprocessor macros deeply by setting the following in the registry:

HKCU\Software\Whole Tomato\Visual Assist X\<IDE spec>\EnhanceMacroParsing = 01

Set to 00 to restore default behavior.

If your preprocessor macros are in stable include directories, you must tell Visual Assist to rebuild its symbol databases before a change takes effect:

If deep parsing does not produce expected results, you might obtain them by overriding the parser in a stdafx.h specific to Visual Assist .

Visual Assist build 2217 and older

Tell Visual Assist to evaluate macros deeply by creating the following STRING registry value:

HKCU\Software\Whole Tomato\Visual Assist X\LimitMacro = "No"

and setting the following:

HKCU\Software\Whole Tomato\Visual Assist X\<IDE spec>\LimitMacroParsing = 00

Delete LimitMacro and return LimitMacroParsing to 01 to restore default behavior.