What do you mean by outline every class? The HCB will outline every class that VA understands / knows about. It only shows one class at a time, but you can simply hover the mouse over a new class to update it.
Evaluating defines is more difficult. Consider a simple example:
class testDefines
{
#ifdef _DEBUG
void shouldThisBeListed()
#endif
}
this function is available or not available depending on how you are compiling your code. So should VA always show it, never show it, or have it appear and disappear?
Often VA does not have access to the required information to know how to evaluate #ifdef statements, and by design we parse inside them and are active inside of them, to give maximum help while writing code.