更改 Visual Studio 调试器日期格式

问题描述 投票:0回答:2

Visual Studio 中的“监视”窗口以“#3/5/2014 12:00:19 AM#”格式显示日期

我需要查看毫秒。如何更改或覆盖 Visual Studio IDE 中的默认格式字符串?

我尝试过更改Windows系统区域设置,但是似乎没有毫秒的格式字符串(而且我不确定VS是否使用它)。

visual-studio visual-studio-2013 visual-studio-debugging
2个回答
1
投票

您最好的选择可能是在监视窗口上添加一行单独的行来显示变量的毫秒数。例如,在 .NET 中,

System.DateTime
有一个
Milliseconds
属性,因此您的监视窗口将包含

myDate
myDate.Milliseconds

您还可以在监视窗口中添加包含所需格式的表达式,例如 .NET 中的

myDate.ToString("mm:hh:ss.ffff")
。然而,方法一旦改变就必须重新评估。

如果不为 Visual Studio 编写可视化器插件,就没有一种简单的方法可以更改调试器显示值的默认方式。但是,如果它是您自己的类型并且您使用的是 .NET,那么您可以覆盖

ToString()
或添加
DebuggerDisplay
属性。

您还可以按照 https://binary-stuff.com/post/introduction-to-dotnet-pretty 中的技术(大约在中间,标题 DotNet Pretty 的第一个贡献下)轻松创建自定义可视化工具对于内置类型。


0
投票

使用

Visual Studio 2022
我通过更改
autoexp.cs
源文件解决了这个问题。

要做的第一个操作是在

autoexp.cs
文件中添加以下行

[assembly: DebuggerDisplay("{ToString(\"yyyy-MM-dd HH:mm:ss.ffffff\")}", Target = typeof(DateTime))]

在我的电脑上,该文件位于以下文件夹中

C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Packages\Debugger\Visualizers\Original>

文件正确更改并保存后,下一步是使用以下命令编译它

csc /t:library autoexp.cs

在我的电脑上,

csc.exe
文件位于以下文件夹中。

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\Roslyn\csc.exe

警告

csc.exe
程序必须在管理员模式下运行才能允许编译器生成
csc.dll
文件。

编译结束后,您可以加载和调试您的程序。

所有日期现在都以

yyyy-MM-dd HH:mm:ss.ffffff
格式显示,如我的答案中所示。

您可以在

中找到一些文档

https://learn.microsoft.com/en-us/visualstudio/debugger/using-the-debuggerdisplay-attribute?view=vs-2022

© www.soinside.com 2019 - 2024. All rights reserved.