繁体   English   中英

当异步方法不以“Async”结尾时,如何在 Visual Studio 中收到警告?

[英]How do I get a warning in Visual Studio when async methods don't end in 'Async'?

每次创建不以“Async”结尾的异步方法时,如何让 Visual Studio 给我一个命名警告?

这是异步方法的推荐约定,但我经常发现自己忘记添加该后缀,警告会很有用。

选项

  • 转到文本编辑器基本代码样式→ 命名
  • 选择管理规范添加新规范
  • 选择Method ,勾选所有辅助功能选项,然后从Modifiers中选择Async
  • 将标题指定为异步方法并保存
  • 现在进入管理命名样式并添加新样式。 添加Async作为后缀并给它一个名字作为AsyncSuffix,然后保存
  • 现在按加号并创建新的命名。 选择规范作为Async Method ,选择所需的 Style 作为 AsyncPostfix 和Severity作为Suggestor
  • 单击确定并保存

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

除了 Visual Studio 文本编辑器设置之外,您还可以创建可移植的自定义编辑器设置.editorconfig文件。 Visual Studio 2017 本身支持.editorconfig文件。

通过将.editorconfig文件创建为存储库的一部分并将其推送到存储库,您可以为在该代码库中工作的每个人强制执行一致的编码样式,而不管他们的 Visual Studio 文本编辑器设置如何。

您在个人项目中使用的编码约定可能与您团队项目中使用的不同。 EditorConfig 文件通过使您能够为每个场景进行配置来解决此问题。

EditorConfig 设置优先于全局 Visual Studio 文本编辑器设置。

这样做:

  1. 解决方案资源管理器中,根据要应用命名规则的范围选择解决方案、项目或项目中的文件夹。

  2. 右键单击并选择添加新项目或按Ctrl + Shift + A

  3. General类别中选择Text File file 并输入.editorconfig作为文件名。

注意:文件位置甚至可以在解决方案的父文件夹中。 没有必要把它放在解决方案中。

将以下内容粘贴到文件中:

# Top-most EditorConfig file
root = true

[*.{cs,vb}]

# Async methods should have "Async" suffix
dotnet_naming_rule.async_methods_end_in_async.symbols = any_async_methods
dotnet_naming_rule.async_methods_end_in_async.style = end_in_async
dotnet_naming_rule.async_methods_end_in_async.severity = suggestion

dotnet_naming_symbols.any_async_methods.applicable_kinds = method
dotnet_naming_symbols.any_async_methods.applicable_accessibilities = *
dotnet_naming_symbols.any_async_methods.required_modifiers = async

dotnet_naming_style.end_in_async.required_prefix = 
dotnet_naming_style.end_in_async.required_suffix = Async
dotnet_naming_style.end_in_async.capitalization = pascal_case
dotnet_naming_style.end_in_async.word_separator = 

更多信息:

Microsoft.VisualStudio.Threading.Analyzers分析器在规则 VSTHRD200 下提供此功能

更多信息在这里https://github.com/microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD200.md

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM