Why do we need to create problems, than with even greater enthusiasm try to solve this problems? Simplest possible way is NOT to use fancy macros and all IDE would be able normally navigate this code. And that code with fancy macros should not pass code review.