【发布时间】:2014-04-25 11:31:40
【问题描述】:
我想更改方法签名
public static async Task Load()
到
public static async Task LoadAsync()
如何在 ReSharper 中定义自定义模式?
【问题讨论】:
-
不知道为什么这被否决...我会尽快发布答案。
标签: c# resharper-8.0
我想更改方法签名
public static async Task Load()
到
public static async Task LoadAsync()
如何在 ReSharper 中定义自定义模式?
【问题讨论】:
标签: c# resharper-8.0
如果我理解正确,您想定义一个自定义模式以将async Task Method() 签名更改为async Task MethodAsync()。如果是这样,这可以通过使用自定义模式来实现!
为此,请转到 ReSharper 的选项,然后转到 Code Inspection → Custom Patterns:
点击Add Pattern
在新对话框中,确保选中Replace
完全按照下图中显示的方式键入搜索和替换模式。根据您的 ReSharper 版本,占位符参数应自动显示。如果没有,请按添加占位符按钮。
双击 method 占位符,并添加以下正则表达式:\b\w+(?<!Async)\b - 这仅告诉匹配方法名称不以 Async 结尾。
在Pattern Severity 组合框中选择Show as Hint 或Show as Suggestion,具体取决于您的偏好。
点击Add,然后点击保存(或保存到→团队共享,将此图案存储在团队共享设置中,供所有队友使用)。
ReSharper 现在将标记所有尚未以 Async 结尾的 public async Task 方法:
您现在可以按 Alt-Enter 快速修复它!
【讨论】:
private 关键字。
$parameters$ 占位符应该考虑 0 个或多个参数,因此它适用于 Foo() 和 Foo(string arg),例如。你的占位符定义正确吗?
async 是多余的,Resharper 不匹配它。此模式还将突出显示public Task Load(){ }(在这种情况下不一定不好)