Видаліть кінцеві пробіли при збереженні в IntelliJ IDEA 12


97

Чи можна автоматично видалити кінцеві пробіли при збереженні в IntelliJ IDEA? Я знаю, що є кілька обхідних шляхів, наприклад, використання git для обрізки пробілів при фіксації. Можливо, це питання є дублікатом цього , але я сподіваюся, це можна зробити без налаштування комбінацій клавіш та макросів.


1
Ви повинні прийняти відповідь, припустивши, що налаштування також є в IntelliJ 12. (А оскільки це в 11 і 13, я припускаю, що це в 12.)
Кріс Арена

Відповіді:


153

Не знаю про 12, але в 13 є такий параметр:

Налаштування → Редактор → Видалити кінцеві пробіли на Зберегти

Станом на IntelliJ 2017.2 це менше

Налаштування → Редактор → Загальне → Видалити пробіли на Зберегти

діалог конфігурації


13
Здається, в IDEA є помилка (включаючи принаймні v13.1.4, яку я зараз використовую), яка, незважаючи на те, що ви вибрали в наведених вище налаштуваннях, все одно зберігатиме кінцеві пробіли на рядку, де розташований курсор . Наприклад, якщо клацнути в кінці будь-якого рядка і натиснути <tab>кілька разів, а потім зберегти (або переключитися на іншу програму з увімкненим автозбереженням), тоді цей рядок буде збережено з недоторканими проміжками. Як тільки ви перемістите курсор з рядка та повторно збережете, пробіли зникнуть.
Скотт Дадлі,

4
Це 2016 рік, і ця помилка все ще є.
Кассіо Перейра,

2
Заголовок Це не помилка, це функція насправді не перетворює помилку на функцію. Надзвичайно незручно мати каретку після закінчення рядка, але я хочу також видалити кінцеві пробіли з поточного рядка (де знаходиться курсор). Наприклад, Sublime має цю функцію, і Sublime може видаляти кінцеві пробіли на вимогу , а не лише на збереження .
maxkoryukov

4
Я не впевнений, коли він був реалізований, але на сьогоднішній день існує параметр налаштувань, який дозволяє змінити цю поведінку: прапорець "Завжди тримати кінцеві пробіли на лінії каретки", який знаходиться прямо під "Закінчення смуги пробіли на опції Зберегти ".
MaxML

4
Я змінив налаштування в Intellij, і він все ще не працює.
Ян С

4

У 2020.1 версія IntelliJ:

Файл -> Налаштування -> Редактор -> Загальне -> потім прокрутіть униз до «Зберегти файли»

Зніміть кінцеві пробіли на опції Зберегти


1

Перейдіть до ==> ПАРАМЕТРИ | ЗАГАЛЬНІ | ІНШІ |

Так само, як показано на малюнку:

  1. Простір відстежуваних фрагментів у Save: ALL
  2. Зніміть прапорець Завжди зберігати ....

Це видалить кінцеві пробіли при збереженні, а не раніше

введіть тут опис зображення


0

Додайте зовнішній інструмент. Оскільки пропуск програми /usr/bin/sed(може бути іншим у вашому вікні, запустіть, which sedщоб знайти) і вставте -i 's/[[:space:]]\+$//' $FilePath$в Параметри. Загалом команда, яку ви хочете запустити IntelliJ:

/usr/bin/sed -i 's/[[:space:]]\+$//' <your current file>

Цей sed видалить кінцевий пробіл, і загальний ефект буде дуже схожий на git. Далі ви можете додати комбінацію клавіш для вашого нового зовнішнього запису інструменту, але я не впевнений, чи можливо щось запустити при збереженні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.