Visual Studio 2017 - 在悬停指针时更改工具提示

时间:2018-01-19 20:09:55

标签: c# visual-studio

调试时,VS可以显示包含对象信息的工具提示:

int tooltip int对象工具提示。

它只显示值,因为它是一个基本的系统对象;

当我将鼠标悬停在更复杂的对象上时,它会显示一些属性:

Point tooltip Point对象工具提示。

请注意显示对象的XY属性的工具提示;

但当我将鼠标悬停在我创建的对象上时,......

TestClass tooltip TestClass对象工具提示。

...工具提示仅显示"完整路径"上课;

如何让VS显示工具提示,显示一些属性(如System.Drawing.Point对象)?

2 个答案:

答案 0 :(得分:6)

如果您因任何原因想要避免修改ToString()的行为,可以选择其他方式。

使用[DebuggerDisplay(...)]

装饰您的课程

文档:https://docs.microsoft.com/en-us/visualstudio/debugger/using-the-debuggerdisplay-attribute

当您想要更改调试器显示您无法控制的类的信息时,此功能尤其有用。例如,我们有一个类DateRange,我们想要更改调试器的显示方式,但我们无法修改类本身。好吧,我们可以这样做:

[assembly: DebuggerDisplay("[Start={StartDate}, End={EndDate}]", Target = typeof(DateRange))]

这一行会出现在AssemblyInfo.cs

答案 1 :(得分:0)

正如@SoronelHaetir评论的那样,VS使用ToString

只需重载ToString即可。

修改 这仅在将鼠标悬停在变量上而不是在列表上时才有效。 @Amy's answer是正确的。