У меня есть большая база кода C ++, которую я делаю рефакторингом, когда ряд функций стал избыточным и, следовательно, должен быть удален. Поэтому я хотел бы заменить
MyFunc(Param)
с
Param
где Param может быть буквальным значением, переменной, вызовом функции и т. Д. Из онлайн-справки я понял, что параметры поиска должны быть
MyFunc/({+}/(
и параметры замены просто
/1
Но это дает мне синтаксическую ошибку в моем шаблоне. Я новичок в поиске и замене на регулярные выражения в визуальной студии. Можно ли легко достичь вышеизложенного? Я просматривал похожие вопросы на этом сайте, которые показывают, что я примерно на правильном пути, но, похоже, что-то упустил.
Редактировать: Если вы можете ответить на вышесказанное, как насчет того, является ли оно частью классового предпочтения, например,
MyClass.MyFunc(Param)
или
MyClass->MyFunc(Param)
(FWIW, я также взял копию VisualAssist в надежде, что он сможет это сделать, но, похоже, не сможет справиться с этой ситуацией).
Второе редактирование: Спасибо Джо за правильный ответ, но всем, кто использует этот подход, остерегайтесь некоторых подводных камней,
MyFunc(MyArray[MyOtherFunc(x)])
заканчивается как
MyArray[MyOtherFunc(x])
и
MyFunc((SomeType)x)
заканчивается как
(SomeTypex)
После того, как вы выполните поиск, чтобы проверить, что вы получите, прежде чем приступить к поиску и замене, убедитесь, что вы изменили открытые файлы на случай, если потребуется отменить их, и сделайте резервную копию исходных файлов перед запуском, это работает достаточно хорошо. Даже с учетом перечисленных ловушек, это все еще экономит время.