Как сделать замены в Eclipse для нескольких файлов классов, в которых количество строк превышает 25?

#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:

Предположим, что заданный вами шаблон одинаков во всех файлах (одинаковый интервал).,

  1. Выделите код, который необходимо заменить.
  2. Нажмите Поиск -> Файл ->> Вкладка Поиск файлов>>(убедитесь, что выбрано регулярное выражение), eclipse преобразует ваш шаблон в регулярное выражение в 1 строке, скопируйте выражение где-нибудь для последующего использования. Шаг 2 захват экрана
  3. Затем повторите тот же шаг для поиска кода.
  4. Нажмите Replace, поместите текст с шага 2 на С, проверьте Регулярное выражение, затем нажмите Ok