Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Resharper custom patterns change method name

I want to change method signature from

public static async Task Load()

to

public static async Task LoadAsync()

How to define a custom patterns in ReSharper?

like image 354
lone Avatar asked Mar 19 '14 10:03

lone


1 Answers

If I understood you correctly, you want to define a custom pattern to change async Task Method() signature to async Task MethodAsync(). If so, this is possible by using Custom Patterns!

For this, go to ReSharper's Options, then Code Inspection → Custom Patterns:

  • Click Add Pattern

  • In the new dialog, make sure Replace is selected

  • Type the Search and Replace pattern exactly as they appear in the image below. Depending on your ReSharper versions, the placeholder parameters should appear automatically. If not, press the Add Placeholder button.

  • Double click the method placehoder, and add the following RegEx: \b\w+(?<!Async)\b - this tells only to match method names NOT ending in Async already.

  • In the Pattern Severity combobox select Show as Hint or Show as Suggestion, depending on your preference.

  • Click Add, then Save (or Save To → Team Shared, to have this pattern stored in the team-shared settings, available to all your teammates).

ReSharper will now flag all public async Task methods that are not already end with Async:

And you can now press Alt-Enter to quick-fix it!

like image 53
Igal Tabachnik Avatar answered Oct 21 '22 02:10

Igal Tabachnik