Как автоматически удалить конечные пробелы в Eclipse? - PullRequest
408 голосов
/ 25 июня 2009

Вопрос состоит из двух частей, на одну из которых у меня уже есть ответ.

  1. Как автоматически удалить конечные пробелы из всего редактируемого файла ? -> Ответ: используйте плагин AnyEdit , который можно настроить для этого при любом сохранении в файл.
  2. Как автоматически удалить конечные пробелы только из строк, которые я изменил ? -> Этого я не знаю и буду признателен за любую помощь.

Ответы [ 14 ]

347 голосов
/ 26 июня 2009

Я предполагаю, что ваши вопросы касаются кода Java. Если это так, вам не нужны никакие дополнительные плагины для выполнения 1). Вы можете просто зайти в Настройки -> Java -> Редактор -> Сохранить действия и настроить его на удалить конечные пробелы .

Судя по звукам, вы также хотите сделать эту настройку для всей команды, верно? Чтобы упростить жизнь и избежать необходимости настраивать ее каждый раз, когда у вас появляется новое рабочее пространство, вы можете установить действие сохранения в качестве предпочтения конкретного проекта, которое сохраняется в вашем SCM вместе с кодом.

Чтобы сделать это, щелкните правой кнопкой мыши по вашему проекту и перейдите в Свойства -> Редактор Java -> Сохранить действия . Оттуда вы можете включить специфичные для проекта настройки и настроить его для удаления конечных пробелов (среди других полезных вещей).

NB : эта опция была удалена в Eclipse Kepler (4.3) и следующих выпусках.

NB # 2: Опция, похоже, вернулась в Eclipse Luna - Luna Service Release 1a (4.4.1)

126 голосов
/ 12 апреля 2010
  1. Удаление пробелов из всего редактируемого файла :

Предпочтения -> Java -> Редакторы -> Сохранение действий -> проверка Выполнение выбранных действий при сохранении -> проверить Дополнительные действия -> нажать Настроить .. -> перейти к Организация кода * вкладка 1022 * -> проверка Удалить конечные пробелы -> выберите Все строки .

  1. Удаление пробелов только из строк, которые я изменил :

Предпочтения -> Java -> Editor -> Сохранить действия -> check " Выполнить выбранные действия в сохранить -> проверить Форматировать исходный код -> выбрать Форматировать отредактированные строки .

Обратите внимание, что нет необходимости нажимать . Настроить параметры форматирования на странице Форматер - все стили кода автоматически включают удаление конечных пробелов. По крайней мере, я не смог найти параметр для этого в конфигурации Formatter, и он работал из коробки для встроенных соглашений Java, стилей Eclipse, Eclipse 2.1, а также GoogleStyle .

При использовании этой настройки вам, очевидно, также необходимо отключить решение части 1 вопроса.

Eclipse version checked: 4.5.2
72 голосов
/ 23 сентября 2011

Вам не нужен плагин для этого. Например, если вы кодируете JAVA, вы можете удалить конечные пробелы, конфигурируя действия сохранения:

Затмение 3,6

Предпочтения -> Java -> Редакторы -> Сохранить действия -> Проверить Выполнить выбранные действия при сохранении -> Проверить Дополнительные действия -> Нажмите кнопку Настроить .. .

На вкладке Организация кода установите флажок Удалить конечные пробелы

46 голосов
/ 05 июля 2010

PyDev может сделать это либо Ctrl + Shift + F , если для этого задан параметр форматирования кода, либо при сохранении :

Eclipse -> Окно -> Предпочтения -> PyDev -> Редактор -> Стиль кода -> Форматировщик кода :

Я использую по крайней мере эти:

  • Автоформат перед сохранением
  • Правильные линии обрезки?
  • Добавить новую строку в конец файла
34 голосов
/ 01 октября 2014

Делать следующее:

Предпочтения -> Java -> Editor -> Сохранить действия

enter image description here

19 голосов
/ 19 ноября 2009

Вы можете сопоставить ключ в Eclipse, чтобы вручную удалить конечные пробелы во всем файле, но только по запросу, а не автоматически при сохранении. (Предпочтение / Ключи, а затем сопоставить набор ключей с Файлом / Удалить конечные пробелы). Это может быть полезно, если вы хотите очистить все новые файлы, но оставить старый код без изменений.

Другая стратегия заключается в том, чтобы активировать визуальное отображение пробелов, чтобы, по крайней мере, вы знали, когда добавляете пробелы в конце. Насколько я знаю, нет способа отобразить только конечные пробелы, но я буду рад оказаться ошибочным.

10 голосов
/ 12 ноября 2010

В крайнем случае, для тех редакторов, которые вообще не поддерживают удаление конечных пробелов (например, редактор XML), вы можете удалить его из всех строк, выполнив поиск и замену, включив регулярные выражения, а затем найдя "[ \ t] + $ "и заменяя его на" "(пусто). Возможно, для этого есть более подходящее регулярное выражение, но оно работает для меня без необходимости устанавливать AnyEdit.

8 голосов
/ 30 апреля 2010

Сейчас невозможно сделать это в Eclipse в общем виде, , но его можно изменить , учитывая базовые знания Java и некоторое свободное время для добавления базовой поддержки для этого https://bugs.eclipse.org/bugs/show_bug.cgi?id=180349

Зависимая проблема: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173

8 голосов
/ 25 июня 2009

Я бы тоже сказал AnyEdit. Это не обеспечивает эту конкретную функциональность. Однако если вы и ваша команда используете функции AnyEdit при каждом действии сохранения, то при открытии файла у него не должно быть завершающих пробелов.

Итак, если вы измените этот файл и добавите новые конечные пробелы, то во время операции сохранения AnyEdit удалит только эти новые пробелы, поскольку они являются единственными конечными пробелами в этом файле.

Если по каким-то причинам вам нужно оставить пробелы в строках, которые были не изменены вами, то у меня нет ответа для вас, и я не уверен, что такая функция существует в любом плагине Eclipse ...

5 голосов
/ 16 марта 2015

Для php есть также опция: enter image description here

...