This change adds/improves MSVC visualizers for many Clang types, including array types, trailing return types in function, deduction guides, a fix for OpaquePtr, etc. It also replaces all of the view(deref) with the "na" formatter, which is a better built-in natvis technique for doing the same thing. To see these in action, look at the attached image of my Watch Window
or as approximated by the ASCII rendering below- S.CurScope->DeclsInScope,na { [Small Mode] size=14, capacity=32 }
[size] 14
[capacity] 32
[0] {Identifier (__int128_t)}
[1] {Identifier (__uint128_t)}
[2] {Identifier (__NSConstantString)}
[3] {Identifier (__builtin_ms_va_list)}
[4] {Identifier (__builtin_va_list)}
[5] int i
[6] int j
[7] char a[5]
[8] template<typename T> void g(T t);
[9] template<typename T> struct Y;
[10] template<typename T> Y(T ) -> Y<T>;
[11] struct X
DeclKind CXXRecord
Members
[0] implicit struct X
[1] Field {int si}
[12] void f(X x)
[13] int main(int argc, char * argv[])