在stl类型的调试视图中降低噪声

pay*_*ayo 9 c++ stl visual-studio

TL; DR:可以为开发人员清理Visual Studio调试器/ intellisense /编译器输出中显示的长类型名称的类型信息吗?

C++,Visual Studio

考虑一下代码:

std::map<int, int> m;
Run Code Online (Sandbox Code Playgroud)

考虑中的类型信息

  1. 观察窗口 看窗口

  2. 用鼠标悬停在标识符上 鼠标移到

  3. 智能感知提示(方法的参数,为简洁而格式化的图像) 方法参数

  4. (如#3)当您键入名称时,识别符号的intellisense完成 智能感知

这些案例中的每一个都显示了stl容器的类型描述,这是很少需要的细节.

我注意到Visual Studio 2011现在显示stringstd::string(一个很棒的改进),而不是std::basic_string<char, std::char_traits<char>, std::allocator<char>>- 但是对于我测试的其他stl类型,这不会发生.

我知道它为什么显示这些信息,我知道信息是正确的,在某些情况下非常重要.我个人认为,在大多数情况下,开发人员可能不会那么在乎并且map<int, int>足够.有什么方法可以格式化或配置输出以减少噪音?

小智 1

您正在寻找的工具 STLFilt (http://www.bdsoft.com/tools/stlfilt.html)。

礼貌:http://yosefk.com/c++fqa/templates.html#fqa-35.17

尽管对于初学者来说,神秘的警告/错误可能很难解码,但如果您想成为专业人士,我建议您习惯它。