获取 MSVC 智能感知以显示基本类型
Get MSVC intellisense to show base type
很多时候,我都是这样做的:
template <int> struct CTypeMap { typedef int Type; };
template <> struct CTypeMap<1> { typedef bool Type; };
template <> struct CTypeMap<2> { typedef char Type; };
CTypeMap<0>::Type q;
当我将鼠标悬停在 q 上时,如果智能感知显示我键入 "int"、"bool" 或 "char" 就好了。相反,我得到 "CTypeMap<0>::Type"
有什么方法可以欺骗智能感知来做这样的事情吗?
据我所知,在 Visual Studio 2013 年无法让 IntelliSense 显示此信息。
但是,在 Visual Studio 2015 年,IntelliSense 将报告 q
是类型 int
而不是 CTypeMap<0>::Type
,这正是您想要的。这是对 Visual Studio 2015 的 IntelliSense 帮助工具提示进行的众多小调整之一。(我最喜欢的调整涉及 typedef 的折叠,例如 std::vector<std::string>
。)
很多时候,我都是这样做的:
template <int> struct CTypeMap { typedef int Type; };
template <> struct CTypeMap<1> { typedef bool Type; };
template <> struct CTypeMap<2> { typedef char Type; };
CTypeMap<0>::Type q;
当我将鼠标悬停在 q 上时,如果智能感知显示我键入 "int"、"bool" 或 "char" 就好了。相反,我得到 "CTypeMap<0>::Type"
有什么方法可以欺骗智能感知来做这样的事情吗?
据我所知,在 Visual Studio 2013 年无法让 IntelliSense 显示此信息。
但是,在 Visual Studio 2015 年,IntelliSense 将报告 q
是类型 int
而不是 CTypeMap<0>::Type
,这正是您想要的。这是对 Visual Studio 2015 的 IntelliSense 帮助工具提示进行的众多小调整之一。(我最喜欢的调整涉及 typedef 的折叠,例如 std::vector<std::string>
。)