[翻译] 了解最新.NET生产性特性 (.NET 5 & Visual Studio 2019)

原文:Learn about the latest .NET Productivity features

作者:Mika
时间:2020年7月29日

.NET生产力团队(又称Roslyn)一直在思考使.NET开发人员提高生产力的新方法。 我们一直在努力获取您发送给我们的反馈,并将其转变为您想要的工具! 在本文中,我将介绍Visual Studio 2019中提供的一些最新.NET生产力功能。

工具改进

我最兴奋的功能是DateTime和TimeSpan字符串文字中的IntelliSense补全。 此功能非常有用,因为我们都知道记住DateTime和TimeSpan格式已经很困难了。 将插入符号放在DateTime或TimeSpan字符串文字中,然后按(Ctrl +空格键)。 然后,您会看到完成选项和每个字符含义的解释。

ba29f29a199ed311696042eff6e45b54.pngba29f29a199ed311696042eff6e45b54.png

使用添加文件头,您可以使用EditorConfig轻松将文件头添加到现有文件,项目和解决方案。 首先,您需要将file_header_template规则添加到您的.editorconfig文件中。 然后,将该值设置为等于您要应用的标题文本。 接下来,将插入符号放在任何C#或Visual Basic文件的第一行。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择“添加文件头”。

62d0f4af07dd25daad60f4537032bf34.png62d0f4af07dd25daad60f4537032bf34.png

现在,更改方法签名对话框允许您添加参数。 将插入符号放在方法的签名中。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择“更改签名”。 将打开以下对话框,您现在可以在其中选择添加以添加参数。

3f346625c75a2feeab46abcb5856cd29.png3f346625c75a2feeab46abcb5856cd29.png

选择添加后,将打开新的“添加参数”对话框。 使用“添加参数”对话框,您可以添加类型名称和参数名称。 您可以选择使用默认值将参数设置为必需或可选。 然后,您可以在调用站点上添加一个值,并为该值选择一个命名参数,或者可以引入TODO变量。 TODO变量将TODO放入代码中,因此您可以访问每个错误并独立遍历每个调用站点并确定要传递的内容。 对于可选参数,您可以选择完全省略呼叫站点。

b716209a398332f85517660d2440f002.pngb716209a398332f85517660d2440f002.png

代码修复和重构

代码修复和重构是编译器通过灯泡和螺丝刀图标提供的代码建议。 要触发“快速操作和重构”菜单,请按(Ctrl+.)或(Alt+Enter)。 以下列表显示了Visual Studio 2019中新增的代码修复和重构:

添加显式强制转换代码修复程序使您可以在无法隐式强制转换表达式时添加显式强制转换。 将插入符号放在错误上。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择“添加显式强制转换”。

986664f4ecabc4edd3197c5e1bf6e429.png986664f4ecabc4edd3197c5e1bf6e429.png

简化条件表达式重构将条件表达式简化为更清晰易懂。 将插入符号放在条件表达式上。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择“简化条件表达式”。

94bd07c64e6c3b0daed10e5afe84c799.png94bd07c64e6c3b0daed10e5afe84c799.png

您是否曾经希望可以轻松阅读或转换为逐字字符串? 现在,您可以轻松进行重构,以在常规字符串和逐字字符串文字之间进行转换。 将您的插入符号放在常规字符串或逐字字符串文字上。 按(Ctrl+.)触发“快速操作和重构”菜单。 接下来,从以下任一选项中进行选择:

选择转换为逐字字符串

55dc169f5475c6afe20b622ee219416b.png55dc169f5475c6afe20b622ee219416b.png

选择转换为常规字符串

6f2adeb1a734ce6c881929f5ca5c1a16.png6f2adeb1a734ce6c881929f5ca5c1a16.png

使用添加调试器显示属性重构,您可以以编程方式在代码中固定调试器中的属性。 将您的插入符号放在班级名称上。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择添加DebuggerDisplay属性。 这会将调试器显示属性添加到类的顶部,并生成一个返回ToString()的自动方法,您可以对其进行编辑以返回要固定在调试器中的属性值。

9815a1478d30502f3276ab220a2821ac.png9815a1478d30502f3276ab220a2821ac.png

生成比较运算符重构将为实现IComparable的类型的比较运算符生成样板代码。 将插入符号放置在类内或IComparable上。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择“生成比较运算符”。

1c6aa39c54e4c4e265016be831e906e5.png1c6aa39c54e4c4e265016be831e906e5.png

生成的IEquatable运算符重构会自动添加IEquatable以及结构的equals和not equals运算符。 将您的插入符号放入结构中。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择“生成等于(对象)**。

a807ce6fb143889204d601235ce5617b.pnga807ce6fb143889204d601235ce5617b.png

生成构造函数时,可以通过generate properties轻松创建具有类型属性的构造函数。 将插入符放在实例上。 按(Ctrl+.)触发“快速操作和重构”菜单,然后选择**<QualifiedName>中的“选择生成构造器”(带有属性)**。

3daca8b185fc8664a71f7d4008df86d3.png3daca8b185fc8664a71f7d4008df86d3.png

现在,您可以轻松地进行意外分配和比较。 将插入符号放在警告上。 按(Ctrl+.)触发“快速操作和重构”菜单。 接下来,从以下选项之一中进行选择:

对于意外分配,请选择分配给<QualifiedName>.value

88845cbc5d88baf21fa650f6e2532282.png88845cbc5d88baf21fa650f6e2532282.png

对于意外比较,请选择比较到<QualifiedName>.value

97b7100dfb4f228e27297cda80a3f0e2.png97b7100dfb4f228e27297cda80a3f0e2.png

空抑制运算符警告和代码修复可帮助您轻松识别和修复无效的抑制运算符。 例如,在这种情况下,某人想表达某种东西不是“ string”,而键入“!is string”而不是“ not not string”。 “!”是合法的,但被解释为断言左侧的表达式,而不是“ null”。 由于这可能会造成混淆,因此我们现在提供警告和代码修复。 将插入符号放在抑制运算符上。 按(Ctrl+.)触发“快速操作和重构”菜单。 接下来,从以下任一选项中进行选择:

要完全删除运算符,请选择删除运算符(保留语义)

3da2a9f4e53ef9c122b5f466905bd097.png3da2a9f4e53ef9c122b5f466905bd097.png

要取反表达式,请选择取反表达式(更改语义)

5f4e1b7936e854a96ef259adcf2b4703.png5f4e1b7936e854a96ef259adcf2b4703.png

参与其中

这只是Visual Studio 2019中的新增功能的简要介绍。有关新增功能的完整列表,请参阅发行说明。 并随时在开发者社区网站上提供反馈,或使用Visual Studio中的“报告问题”工具。

猜你喜欢

转载自www.cnblogs.com/richardcuick/p/13402973.html
今日推荐