9

TL;DR:是否可以为开发人员清理来自 stl 的长类型名称的 Visual Studio 调试器/智能感知/编译器输出中显示的类型信息?

C++,视觉工作室

考虑代码:

std::map<int, int> m;

考虑类型信息

  1. 观察窗口 观察窗口

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

  3. Intellisense 提示(方法的参数,为简洁起见格式化图像) 方法参数

  4. (如#3)在您键入名称时对标识符进行智能感知完成 智能感知

这些案例中的每一个都显示 stl 容器的类型描述是一长串不常需要的细节。

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

我知道它为什么显示该信息,我知道该信息是正确的,并且在某些情况下至关重要。我只是认为,大多数时候,开发人员不在乎,map<int, int>就足够了。有什么方法可以格式化或配置输出以减少噪音?

4

1 回答 1

1

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

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

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

于 2012-05-05T08:08:10.920 回答