Вопрос состоит из двух частей, на одну из которых у меня уже есть ответ.
- Как автоматически удалить конечные пробелы из всего редактируемого файла ? -> Ответ: используйте плагин AnyEdit , который можно настроить для этого при любом сохранении в файл.
- Как автоматически удалить конечные пробелы только из строк, которые я изменил ? -> Это я не знаю и был бы признателен за любую помощь.
eclipse
whitespace
Ян Жаньковский
источник
источник
Ответы:
Preferences-> Java-> Editors-> Save Actions-> проверить Perform the selected actions on save-> проверить Additional actions-> щелкнуть Configure..-> перейти на Code organizingвкладку -> проверить Remove trailing whitespace-> выбрать All lines.
Preferences-> Java-> Editor-> Save Actions-> проверить " Perform the selected actions on save-> проверить Format source code-> выбрать Format edited lines.
Обратите внимание, что нажимать не нужно Configure the formatter settings on the Formatter page- все стили кода автоматически включают удаление конечных пробелов. По крайней мере, я не смог найти параметр для этого в конфигурации Formatter, и он работал из коробки для встроенных соглашений Java, стилей Eclipse, Eclipse 2.1, а также GoogleStyle .
При использовании этой настройки вам, очевидно, также необходимо отключить решение части 1 вопроса.
источник
Я предполагаю, что ваши вопросы касаются кода Java. Если это так, вам не нужны дополнительные плагины для выполнения 1). Вы можете просто перейти в « Настройки» -> «Java» -> «Редактор» -> «Сохранить действия» и настроить его для удаления конечных пробелов .
Судя по всему, вы также хотите сделать это для всей команды, верно? Чтобы упростить жизнь и избежать необходимости настраивать ее каждый раз, когда у вас появляется новое рабочее пространство, вы можете установить действие сохранения как предпочтение конкретного проекта, которое сохраняется в вашем SCM вместе с кодом.
Для этого щелкните правой кнопкой мыши свой проект и перейдите в Свойства -> Редактор Java -> Сохранить действия . Оттуда вы можете включить конкретные настройки проекта и настроить его для удаления конечных пробелов (среди других полезных вещей).
Примечание : эта опция была удалена в Eclipse Kepler (4.3) и последующих выпусках.
NB # 2: вариант, кажется, вернулся в Eclipse Luna -
Luna Service Release 1a (4.4.1)
источник
Вам не нужен плагин для этого. Например, если вы кодируете JAVA, вы можете удалить конечные пробелы, конфигурируя действия сохранения:
Затмение 3.6
Preferences-> Java-> Editors-> Save Actions-> Проверить Perform the selected actions on save-> Проверить Additional actions-> Нажмите Configure..кнопку.
На Code organizingвкладке проверьтеRemove trailing whitespace
источник
PyDev может сделать это либо Ctrl+ Shift+, Fесли у вас установлена опция форматирования кода, либо during saving:
Eclipse-> Window-> Preferences-> PyDev-> Editor-> Code Style-> Code Formatter:
Я использую по крайней мере это:
источник
Сделайте следующее:
Preferences-> Java-> Editor->Save Actions
источник
Вы можете сопоставить ключ в Eclipse, чтобы вручную удалить конечные пробелы во всем файле, но только по запросу, а не автоматически при сохранении. (Предпочтение / Ключи, а затем сопоставить набор ключей с Файлом / Удалить конечные пробелы). Это может быть полезно, если вы хотите очистить все новые файлы, но оставить прежний код без изменений.
Другая стратегия заключается в том, чтобы активировать визуальное отображение пробелов, так что вы, по крайней мере, будете знать, когда добавляете пробелы в конце. Насколько я знаю, нет никакого способа отобразить только конечные пробелы, но я буду рад оказаться ошибочным.
источник
В крайнем случае, для тех редакторов, которые вообще не поддерживают удаление конечных пробелов (например, редактор XML), вы можете удалить его из всех строк, выполнив поиск и замену, включив регулярные выражения, а затем найдя "[\ t] + $ "и заменить его на" "(пусто). Вероятно, есть лучшее регулярное выражение для этого, но оно работает для меня без необходимости устанавливать AnyEdit.
источник
Я бы сказал AnyEdit тоже. Это не обеспечивает эту конкретную функциональность. Однако если вы и ваша команда используете функции AnyEdit при каждом действии сохранения, то при открытии файла у него не должно быть завершающих пробелов.
Таким образом, если вы измените этот файл и добавите новые конечные пробелы, то во время операции сохранения AnyEdit удалит только эти новые пробелы, поскольку они являются единственными конечными пробелами в этом файле.
Если по каким-то причинам вам нужно сохранить конечные пробелы в строках, которые не были изменены вами, у меня нет ответа для вас, и я не уверен, что такого рода функция существует в любом плагине Eclipse ...
источник
Сейчас невозможно сделать это в Eclipse в общем виде, но это можно изменить, если у вас есть базовые знания Java и немного свободного времени, чтобы добавить базовую поддержку для этого. https://bugs.eclipse.org/bugs/show_bug.cgi? ID = 180349
Зависимая проблема: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173
источник
Для php есть также опция:
источник
Есть действительно простой способ сделать это с помощью sed, инструмента командной строки Unix. Возможно, вы могли бы создать макрос в Eclipse для запуска этого:
источник
Как сказал @Malvineous, это не профессионал, а обходной путь, чтобы использовать метод Find / Replace для удаления конечного пробела (ниже, включая вкладку U + 0009 и пробел U + 0020).
Просто нажмите Ctrl + F (или команду + F)
[\t ][\t ]*$
дополнительно:
для удаления начального пробела найти
^[\t ][\t ]*
вместо[\t ][\t ]*$
удаления пустых строк, найти
^\s*$\r?\n
источник
[\t ]+$
вместо[\t ][\t ]*$
?Я не знаю ни одного решения для второй части вашего вопроса. Причина в том, что не ясно, как определить, я изменил . Изменилось когда? Просто между 2 сохранениями или между коммитами ... В основном - забудьте об этом.
Я предполагаю, что вы хотели бы придерживаться некоторого руководства, но не трогайте остальную часть кода. Но руководство следует использовать в целом, а не для укусов и кусочков. Поэтому я предлагаю изменить весь код в соответствии с указаниями: это разовая операция, но убедитесь, что у всех ваших разработчиков одинаковый плагин (AnyEdit) с одинаковыми настройками для проекта.
источник
Я использовал эту команду для git:
git config --global core.whitespace cr-at-eol
Удаляет
^M
символы, которые тянутся.источник