Я хочу изменить подпись метода с
public static async Task Load()
to
public static async Task LoadAsync()
Как определить пользовательские шаблоны в ReSharper?
Я хочу изменить подпись метода с
public static async Task Load()
to
public static async Task LoadAsync()
Как определить пользовательские шаблоны в ReSharper?
Если я вас правильно понял, вы хотите определить собственный шаблон для изменения подписи 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 будет помечать все public async Task
методов, которые еще не заканчиваются асинхронным:
И теперь вы можете нажать Alt-Enter, чтобы быстро это исправить!
private
.
- person Igal Tabachnik; 20.03.2014
$parameters$
должен учитывать 0 или более параметров, поэтому он работает, например, как с Foo()
, так и с Foo(string arg)
. Правильно ли определен ваш заполнитель?
- person Igal Tabachnik; 20.03.2014
async
в шаблоне поиска является избыточным, Resharper ему не соответствует. Этот шаблон также будет выделять public Task Load(){ }
(что в данном случае не обязательно плохо)
- person i3arnon; 15.07.2014