Resharper Search & Replace не применяет заполнитель внутри двойных кавычек - PullRequest
0 голосов
/ 25 октября 2019

Тупой пример

Предположим, я хотел взять что-то вроде

FunctionName(parameter)

и заменить его на

FunctionName(parameter, "This is a string involving {parameter}."

Теперь для практических целей я хочу этовыдает ошибку, если первый экземпляр когда-либо найден, поэтому вместо использования простого скрипта или встроенной в Find / Replace Visual Studio, я хочу установить собственный шаблон в ReSharper, который делает именно это. Я мог бы установить идентификатор-заполнитель, называемый «параметром», и использовать шаблон поиска

FunctionName($parameter$)

и шаблон замены

FunctionName($parameter$, "This is a string involving $parameter$."

Если применить его к

FunctionName(x)

однако я получаю

FunctionName(x, "This is a string involving $0.")

вместо

FunctionName(x, "This is a string involving x.")

Есть что-то в обертке-заполнителе в двойных кавычках, из-за которой его невозможно правильно оценить. Чего мне не хватает?

Практическое применение

Я пытаюсь применить стандарты кодирования для нескольких рабочих проектов, которые не могут решить, хотят ли они использовать оператор bang для доступа к свойству по умолчаниюDataRow или .Item. То есть много

dr!columnName1 = "foo"
dr.Item("columnName2") = "bar"

, и я эффективно пытаюсь заменить все экземпляры !columnName1 на .Item("columnName1"). Что еще хуже, большинство из этих объявлений заключено в блок «С», но это ни здесь, ни там.

Важные замечания:
- Использование Resharper Ultimate 2019.2
- VB.NET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...