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

时间:2018-12-29 20:01:23

标签: c# visual-studio asynchronous

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

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

3 个答案:

答案 0 :(得分:88)

选项

  • 转到文本编辑器基本代码样式→命名
  • 选择管理规范添加新规范
  • 选择方法,勾选所有辅助功能选项,然后从修饰符中选择异步
  • 将标题设为“异步方法”并保存
  • 现在进入管理命名样式并添加新样式。添加Async作为后缀,并将其命名为AsyncSuffix,然后保存
  • 现在按加号并创建新的命名。选择规范作为异步方法,选择所需的样式作为AsyncPostfix,将 Severity 作为 Suggestor
  • 点击确定并保存

Enter image description here

Enter image description here

Enter image description here

答案 1 :(得分:29)

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

通过将.editorconfig文件作为存储库的一部分创建并将其推送到存储库,您可以为在该代码库中工作的每个人实施一致的编码样式,无论其Visual Studio文本编辑器设置如何。

  

您在个人项目中使用的编码约定可能与   团队项目中使用的那些。 EditorConfig文件可解决此问题   通过使您可以为每个方案进行配置来解决问题。

  

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

要这样做:

  1. Solution Explorer 中,根据要应用命名规则的范围,选择Solution,Project或项目中的文件夹。

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

  3. 常规类别中选择文本文件文件,然后输入.editorconfig作为文件名。

注意:file location甚至可以位于解决方案的父文件夹中。没必要将其包含在解决方案中。

在文件中粘贴以下内容:

# 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 = 

更多信息:

答案 2 :(得分:1)

Microsoft.VisualStudio.Threading.Analyzers 分析器提供了这个 根据规则VSTHRD200

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