Visual Studio 2015 的 XAML 和 C# 功能






4.80/5 (21投票s)
本文将简要介绍 Visual Studio 2015 在 XAML 和 C# 方面的一些酷炫功能,以及一些通用功能。
引言
Visual Studio 2015 包含了大量的功能。在本文中,我们将介绍一些适用于 XAML 和 C# 的酷炫功能,以及一些通用功能。
完全禁用 XAML 设计器
你喜欢 XAML 设计器吗?如果不喜欢,现在可以完全摆脱它了。Visual Studio 2015 允许你完全禁用 XAML 设计器,为此,请转到
Tools -> Options -> XAML Designer -> Enable XAML Designer
并取消选中“启用 XAML 设计器”复选框,这需要重新启动 Visual Studio 才能使更改生效,下次打开 XAML 文件时,就会看到这个效果。
以前有一些解决方法,但现在只需单击一下即可。
与“Visual Studio 2015 的 Blend”更好地集成
你可以直接在 Visual Studio 2015 中打开任何 XAML 文件。只需右键单击任何 XAML 文件,然后单击“在 Blend 中设计...”选项。它将打开 Blend 并加载请求的文件以及任何其他依赖项。
当你在 Blend 中进行任何更改并返回 Visual Studio 时,会出现此对话框
正如预期的那样,如果选择“是”或“全部是”,它将重新加载与 Blend 同步的文件。或者,你可以选择更改对话框中显示的设置。
同样,以前也有一些解决方法,但现在它更加简化了。
查看定义
Visual Studio 中一直有一个很棒的功能是“转到定义”,它可以让你快速跳转到方法/属性或任何其他资源的定义。这个功能唯一“不太好”的地方是,它实际上会打开包含所需资源定义的文件,然后你可以在其中进行编辑。如果你只想快速编辑怎么办?现在有了名为“查看定义”的新功能,它可以在不离开当前视图的情况下快速编辑所需的资源。要使用此功能,只需在 XAML 或 C# 代码中选择任何资源,然后选择“查看定义”。
它将显示一个包含资源代码的弹出窗口,你可以在其中就地编辑。
同样的功能也可以用于 C# 代码
转到实现
与“查看定义”类似,还有一个小功能是“转到实现”。如果你有一个接口或任何其他抽象,并想导航到其实现,可以使用“转到实现”。如果你只有一个实现,它将导航到该实现;如果有多个实现,它将显示一个列表。
XAML 区域
就像我们在 C# 中有区域来将代码组织成逻辑块一样,XAML 现在也可以这样做,你可以通过简单地添加“#region
”部分或从 XAML 编辑器内置的标签中选择来为 XAML 添加区域,如下所示:
折叠后看起来是这样的:
自定义窗口布局
你会在多个设备上工作吗?如果是这样,你可能需要在设备上设置不同的布局。一种可能是大型桌面显示器,另一种可能是 Surface 设备,现在你可以为 Visual Studio 窗口创建多个布局,并通过选择来应用任何这些布局:
窗口 -> 应用窗口布局 -> “你的布局”
你可以始终使用“保存窗口布局”选项保存当前布局。“重置窗口布局”将重置你当前的布局,但仍会保留你保存的布局。
代码编辑器改进
以下大多数选项将在你选择某个代码片段并触发“快速操作”快捷方式后显示。
删除不必要的 using
此功能有一些改进,Visual Studio 2015 始终将未使用的 using
显示为灰色项。现在你可以选择从当前文档、项目或解决方案中删除不必要的 using
。
如果选择从项目或解决方案中删除不必要的 using
,你将看到一个预览窗口,可以在其中查看或应用更改。
引入常量
在代码中任何地方有硬编码值时,选择该值并选择快速操作。
引入局部变量
你还可以为某些表达式引入局部变量。
更好的重构和重命名
现在我们在重命名某些变量或进行一些重构时有了更多功能。
共享项目
这些共享项目现在可以被多种项目类型引用。
- 任何 VB/C# 项目(例如,控制台应用程序、类库、WinForm 应用程序)
- Windows 8.1 和 Windows Phone 8.1 Windows Phone Silverlight 8.0/8.1 (VB/C#)
- WPF 和 PCL
你可以通过“引用管理器”的“共享项目”选项卡添加/删除对共享项目的引用。共享项目引用会显示在解决方案资源管理器的“引用”节点下,但共享项目中的代码和资产被视为链接到主项目的文件。
调试
Visual Studio 2015 中添加的一些新调试功能如下:
性能提示
性能提示可以轻松地快速查看两个代码执行点之间的代码执行时间。它显示自最后一个断点以来程序执行的时间。
仔细查看“Method2()
”调用后显示的时间,它只是表明执行到此处大约花费了 1501 毫秒(自上一个断点以来)。
调试 Lambda 表达式
是的,你现在可以调试 Lambda 表达式了,Visual Studio 2015 允许在“监视”窗口中调试/编辑 Lambda 表达式。请看这个:
将 Lambda 表达式添加到“监视”窗口,你就可以编辑它了。你可以使用“监视”/“快速监视”窗口来编辑/调试 Lambda 表达式。
断点配置
Visual Studio 断点现在提供更多自定义和设置以改进调试。
你可以在断点处记录一些信息。你可以使用断点的“操作”功能,其中你可以提供自定义消息来记录,如果你还需要记录某个变量,请使用“{}
”,并将变量放在“{c}
”内来记录变量或表达式的值。此外,你还可以选择中断或继续程序的执行。
异常设置
可以使用“异常设置”窗口配置异常。
你还可以筛选异常或搜索异常。
时间线工具
时间线工具允许诊断和检查任何 WPF 或 Store 应用程序的性能,时间线工具显示你的应用程序在执行各种操作上花费了多少时间。
时间线工具将 UI 线程利用率划分为以下几个部分:
- 解析
- 布局
- Render
- I/O
- 应用代码
- 其他
并显示 UI 线程在各项活动中被利用了多少。除此之外,时间线工具还显示应用程序事件以及每个事件所花费的时间。它还显示 UI 线程在各种操作中的分布的图形表示。
时间线工具提供了更多功能来分析和改进你的应用程序性能。
诊断工具
新的诊断工具窗口提供以下功能:
事件
事件工具将显示应用程序事件,它将允许你访问在调试会话期间收集的所有调试器断点、输出和 IntelliTrace 事件。
内存使用
内存使用情况工具允许你分析应用程序使用的内存并找出任何瓶颈,你还可以拍摄内存快照,甚至可以比较两个快照的差异。
CPU 使用率
CPU 使用情况工具允许你在调试时监控应用程序使用的 CPU。这有助于找出应用程序的性能问题。
现在你无需任何额外工具即可诊断应用程序性能,所有这些都在 Visual Studio 2015 中可用。
XAML UI 调试工具
好吧,Visual Studio 2015 中最好的功能是新的 XAML UI 调试工具。对于 XAML 开发人员来说,调试一直是一个挑战,如果你想进行诸如更改颜色这样的微小更改,你必须重新启动应用程序才能看到效果。Visual Studio 2015 引入了两个非常酷的新工具:
- 实时可视化树
- 实时属性浏览器
实时可视化树
现在你可以在调试会话期间查看正在运行的应用程序的完整可视化树,这将使你能够访问可视化树中的实时数据。实时可视化树可以与实时属性浏览器结合使用,以检查元素上的属性值。会显示后代计数,如果源代码信息可用,你可以立即找到元素的定义所在的文件和位置。
实时属性浏览器
此工具可用于检查正在运行的应用程序中任何元素的属性,属性的显示方式类似于属性浏览器窗口。你可以在调试会话期间修改这些属性,并立即在正在运行的应用程序中看到更改的效果。
这些工具是“XAML 编辑和继续”迈出的一步。未来,我们将看到更多针对 XAML 调试的改进。
好的,这里有一个实时可视化树和实时属性浏览器在实际应用中的例子。这是我们非常简单的应用程序,只有一个按钮正在调试中。
左侧是我们有实时可视化树。
我们可以在这个可视化树中轻松找到“按钮”。现在,一旦你在实时可视化树中选择了“按钮”,你就会看到实时属性浏览器显示所选元素的当前属性值。
如你所见,属性是分组的,这些分组基于依赖项属性值优先级列表。一个依赖项属性可以在多个地方设置值,但选择应用的值是基于依赖项属性值优先级列表的。正如你所见,“Foreground
”属性在“Style (ButtonBase Default)
”下显示为删除线,这意味着“Foreground
”不是从默认样式使用的,因为在这种情况下,我们有另一个 Style
(“GreenButtonStyle
”),其中显示了“FontSize
”和“Foreground
”两个属性。现在,让我们继续更改“Foreground
”属性的值,看看它是如何工作的。
你可以看到,通过实时属性浏览器更改“Foreground
”的值,它在应用程序中得到了改变,而无需重新启动应用程序。
关注点
这些只是 XAML 和 C# 的一些特定功能,Visual Studio 2015 还提供了更多功能,包括跨平台开发工具。我发现 XAML UI 调试工具是最棒的补充。
历史
- 2016 年 4 月 24 日 - 初始发布