【问题标题】:Change Visual Studio Debugger Date Format更改 Visual Studio 调试器日期格式
【发布时间】:2015-01-13 09:57:13
【问题描述】:

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

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

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

【问题讨论】:

    标签: visual-studio visual-studio-2013 visual-studio-debugging


    【解决方案1】:

    您最好的选择可能是在监视窗口中添加一个单独的行来显示变量的毫秒数。例如,在 .NET 中,System.DateTime 具有 Milliseconds 属性,因此您的监视窗口将包含

    myDate
    myDate.Milliseconds
    

    您还可以在监视窗口中添加包含所需格式的表达式,例如 .NET 中的myDate.ToString("mm:hh:ss.ffff")。但是,只要方法发生变化,就必须重新评估它们。

    不写visualizer plugin for Visual Studio,没有简单的方法可以更改调试器显示值的默认方式。但是,如果它是您自己的类型并且您使用的是 .NET,那么您可以覆盖 ToString() 或添加 DebuggerDisplay 属性。

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

    【讨论】:

    • 不幸的是,我在通用列表中有很长的日期列表,所以我不确定您的答案的第一部分是否会有所帮助。看起来我可能会被数百条 debug.writelines 困住
    • 从 Visual Studio 2017 或 2019 开始,您可以使用 lambda 表达式 - 因此 myDates.Select(d => d.ToString("mm:hh:ss.ffff")).ToArray() 会显示您想要的内容,但每次列表更改时都必须刷​​新它。
    猜你喜欢
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 2010-12-20
    • 2022-01-16
    • 2017-06-25
    • 2011-06-05
    • 2016-11-22
    相关资源
    最近更新 更多