У меня есть огромное количество повторяющегося кода, который я хочу заменить в устаревшей базе кода, и нашел, что Resharper's Structural Search and Replace feature подходит для этой задачи. Однако у меня возникают проблемы с тем, чтобы он соответствовал моим шаблонам.Resharper Structural Find and Replace
Узор Я хотел бы иметь быстрые решения для является следующим:
public string PropertyName
{
get { return base.GetSubNode(_parameterNode, "ElementName").InnerText; }
set { base.GetSubNode(_parameterNode, "ElementName").InnerText = value; }
}
Это должен быть заменен:
public string PropertyName
{
get { return GetProperty("ElementName"); }
set { SetProperty("ElementName", value); }
}
Я создал шаблон:
public string $propName$
{
get { return base.GetSubNode(_parameterNode, $elementName$).InnerText; }
set { base.GetSubNode(_parameterNode, $elementName$).InnerText = value; }
}
Узор если я выполняю поиск, но не приводит к быстрому исправлению. Если я вместо этого создаю отдельный шаблон для getter и setter, я получаю быстрые исправления, но шаблон getter соответствует как получателю, так и сеттерам.
Поглотитель картина:
base.GetSubNode(_parameterNode, $elementName$).InnerText
Как я могу получить быстрые решения для этого геттер/сеттер пары?
Кажется, что Структурный поиск и замена [поддерживает только уровни уровня тела] (http://devnet.jetbrains.net/message/5298817#5298817). Это объясняет, почему полный шаблон свойства не приводит к быстрому исправлению. Мне все равно хотелось бы применить быстрые исправления к получателю и настройщику по отдельности. – PHeiberg
VS Найти и заменить может быть достаточно здесь, с разумным использованием его поддержки регулярных выражений. – AakashM
@AakashM - Верно, но я бы предпочел заменить кусок гигантской базы кода за раз, поскольку тестирование в лучшем случае отсутствует, а быстрое исправление сделает его чрезвычайно простым. Также у нас есть хорошая возможность узнать, как использовать функцию структурной находки и замены. – PHeiberg