#java #eclipse
Вопрос:
Как выполнить поиск и замену более чем 200 файлов классов, в которых количество строк, подлежащих замене, превышает 25 на класс. Например:
@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
Опция поиска и замены не помогла для большего фрагмента кода.
Пример блока, который необходимо заменить:
@BeforeClass(alwaysRun = true)
public void setUpClass() throws Exception {
testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
}
@Test(groups = "cucumber", description = "Runs Cucumber Feature", dataProvider = "features")
public void feature(CucumberFeatureWrapper cucumberFeature) {
testNGCucumberRunner.runCucumber(cucumberFeature.getCucumberFeature());
}
@DataProvider
public Object[][] features() {
return testNGCucumberRunner.provideFeatures();
}
@AfterClass(alwaysRun = true)
public void tearDownClass() throws Exception {
testNGCucumberRunner.finish();
}
@BeforeClass(alwaysRun = true)
public void setUpClass() throws Exception {
testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
}
@Override
@AfterClass(alwaysRun = true)
public void tearDownClass() {
testNGCucumberRunner.finish();
}
Это пример, когда требуется несколько замен
Комментарии:
1. Пожалуйста, укажите пример строк, которые вам нужно заменить?
2. Например , -@Переопределение -@Поставщик данных(parallel = true) общедоступный объект[][] сценарии() { возвращает супер.сценарии(); } -@Класс перед(alwaysRun = true) общедоступный класс настройки пустоты() вызывает исключение { testNGCucumberRunner = новый тестовый класс(this.getClass()); } -@Переопределение @После(alwaysRun = true) общедоступный класс удаления пустоты() { testNGCucumberRunner.закончить(); }
3. извините за плохую форму
4. Как насчет того, на что вы хотите заменить?
5. Я не знаю, что вы пытаетесь заменить, но несколько подсказок : s соответствуют любому пробелу, Q и E «экранируют» целую последовательность шаблонов: чтобы соответствовать
public Object[][] scenarios()
, вы могли бы использоватьpublics QObject[][]Es Qscenarios()E
. С другой стороны, могут быть плагины Eclipse, которые работают лучше. Тот, который будет работать с использованием AST и игнорированием некоторых токенов (например: пробелы, комментарии, …). Я не эксперт в IntelliJ, но я думаю, что у него была такая функция.
Ответ №1:
Предположим, что заданный вами шаблон одинаков во всех файлах (одинаковый интервал).,
- Выделите код, который необходимо заменить.
- Нажмите Поиск -> Файл ->> Вкладка Поиск файлов>>(убедитесь, что выбрано регулярное выражение), eclipse преобразует ваш шаблон в регулярное выражение в 1 строке, скопируйте выражение где-нибудь для последующего использования.
- Затем повторите тот же шаг для поиска кода.
- Нажмите Replace, поместите текст с шага 2 на С, проверьте Регулярное выражение, затем нажмите Ok