Visual Studio自定义调整窗体的两个小技巧

开发 后端
本文将讨论的是在Visual Studio自定义调整窗体的方法,可以简化调试信息和不必要的信息。希望本文能帮到你。

这篇文章讲述如何自定义你的调试窗体。这些技巧在你调试应用程序的时候是非常有用的。当你调试的时候,你可能希望简化调试窗体的信息,或者在调试窗体上除去对你不重要的不必要的信息,这篇文章将会帮助到你。本文翻译:Few Tips on Customizing Debugging Window View in Visual Studio 。

使用DebuggerBrowsable特性可以自定义调试窗体。

自定义调试窗体

 使用DebuggerDisplay特性可以自定义调试信息的显示.

自定义调试信息

要使用这些特性,需要引用System.Diagnostics命名空间。

技巧1、使用DebuggerBrowsable特性

你可以通过在属性上使用DebuggerBrowsable特性来自定义调试窗体。这些特性可以用任何属性、字段和索引上。DebuggerBrowsable的构造函数需要一个DebuggerBrowsableState 参数。DebuggerBrowsableState用来指定调试信息在窗体上显示的方式。

它有三个状态:

1、Collapsed :如果设置DebuggerBrowsableState为Collapsed 。那么调试信息折叠显示。默认为Collapsed

2、Never :调试窗体不显示调试信息  

3、RootHidden :隐藏调试信息的根元素,只显示子元素信息,想了解更多,看MSDN。

下面我将通过一个例子叙述如何使用DebuggerBrowsable 和DebuggerBrowsableState。开始之前,看下面这段代码:

下面,先看一下不使用这些特性是什么样的效果。我在main 函数的结尾放置一个断点。你可以得到下面的调试窗体。

调试窗体

从上图中可以看到有6个student对象,每个对象的值都不同。Addresses是类Address的对象,它的调试信息值是隐藏的。

现在,我想要看到address的所有属性信息,隐藏Marks 属性。为了实现这样的需求,需要为给student 类中的Marks 和Addresses属性添加DebuggerBrowsable特性。如下图:

属性信息

技巧2、使用DebuggerDisplay特性

使用DebuggerDisplay可以定义类和字段在调试窗体中如何显示。使用 DebuggerDisplay可以改变调试窗体中显示的信息和变量,使它显示你想要的信息。

看下面没有使用DebuggerDisplay 的调试窗体。

默认情况下,每一个study对象你只得到NameSpace.ClassName这样的显示信息。我们可以使用DebuggerDisplay来自定义显示的信息。 DebuggerDisplay  构造函数需要显示名作为参数。你可以传递指定参数来显示。做如下设置:

参数设置

看下效果:

效果

使用DebuggerDisplay的时候必须注意,在{}中必须给出类的正确属性,否者你会得到下面信息。

将Roll写成Rolls,如下图:

提示:The name 'Rolls' does not exist in the current context。如下图:

总结:本文讲述了使用DebuggerBrowsable 和DebuggerDisplay两个特性来自定义调试窗体的显示。当你调试一个非常复杂的对象时,这个是非常有用的,它可以使你的调试窗体非常简单。

原文标题:Visual Studio自定义调试窗体两个小技巧

链接:http://www.cnblogs.com/zhuqil/archive/2010/08/31/Two-Tips-on-Customizing-Debugging-Window.html

【编辑推荐】

 

  1. Visual Studio 2010中Xaml开发格式设置技巧
  2. Visual Studio 2010中手动添加图片文件
  3. 使用Visual Studio 2010统一管理数据库对象
  4. Visual Studio 2010 TFS探索之旅
  5. Visual Studio 2010更改颜色背景的方法
责任编辑:彭凡 来源: 博客园
相关推荐

2009-11-05 10:38:05

Visual Stud

2010-11-22 15:48:40

MySQL修复表

2010-02-25 16:14:51

Visual Stud

2023-06-15 08:01:01

Vite插件机制

2013-12-18 10:34:42

OpenMP线程

2011-05-23 14:47:12

WordPress

2011-04-02 08:39:27

Visual Stud

2010-03-05 13:48:50

Visual Stud

2021-07-26 09:00:08

ReactHooks 项目

2020-07-09 15:10:20

开发技能代码

2010-06-29 09:02:59

Visual Stud

2012-06-13 11:25:23

Windows 8系统技巧

2010-11-30 09:06:28

Visual Stud

2012-02-09 10:58:35

Java

2009-10-09 10:21:31

Visual Stud

2021-01-21 08:00:00

开发工具VS Code

2023-11-03 15:33:22

Docker镜像云计算

2019-06-10 10:08:16

Windows 10Windows鼠标指针

2009-04-23 09:05:08

IE8llq自定义功能

2011-09-20 15:19:15

Python
点赞
收藏

51CTO技术栈公众号