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[])