it-swarm.com.ru

Обрезать конечные пробелы в Xcode

Есть ли способ заставить XCode обрезать конечные пробелы при сохранении файла?

Я использую версию 3.1.3, если это имеет значение.

92
Alexander Gladysh

Вы можете создать скрипт и привязать его к сочетанию клавиш:

  • Выберите Меню сценариев> Изменить пользовательские сценарии ...
  • Нажмите кнопку + и выберите Новый сценарий оболочки
  • Дайте ему имя, такое как "Strip Trailing Spaces", и назовите его как ⌃⇧R.
  • Установите Input для "Selection" и для Output "Replace Selection"

Затем введите следующий скрипт:

#!/usr/bin/Perl

while (<>) {
    s/\s+$//;
    print "$_\n";
}
24
Darren

Начиная с Xcode 4.4, пробелы будут автоматически обрезаться по умолчанию, если только строка не является пробелом. Вы также можете активировать Including whitespace-only lines, чтобы исправить это, что по умолчанию не активно.

Перейти к Xcode > Preferences > Text Editing > While editing

Xcode preferences screenshot

203
Martin Stolz

Я использую плагин Google Toolbox для Mac Xcode , он добавляет параметр "Исправить пробел при сохранении", который сокращает конечный пробел при сохранении. Я очень скучал по emacs.

24
Maxime

Для Xcode 8 я установил плагин swimat Xcode для форматирования кода Swift, который удалил все конечные пробелы и строки только для пробелов.

Методы установки

  1. Установить через homebrew-cask:

    brew cask install swimat
    
  2. Загрузите приложение напрямую:
    https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.Zip

  3. Клонировать extension ветвь и архивировать в Mac App.

Использование

После установки вы можете запустить Swimat в Xcode через Editor -> Swimat -> Format.

3
moollaza

Это невозможно в Xcode 3.2

Edit:

Я ответил на этот вопрос так кратко, потому что нет способа сделать это правильно.

Конечно, поскольку это программное обеспечение, вы можете делать все, что угодно: начиная с хаков Input Manager или других способов внедрения кода в перехват всей системы, вы можете в любой момент изменить свою локальную систему. Вы можете настроить действие папки Applescript (arrgh) или использовать демон запуска и средство FSEvents для просмотра файлов с исходным кодом.

Вы также можете добавить пару сценариев в XCode (пользовательские сценарии в меню, этапы сценариев в целевых объектах, настраиваемые действия в органайзере, даже очень неизвестная вероятность запуска сценария запуска), но все эти решения имеют недостатки, поскольку в них задействованы пользовательские или пользовательские настройки на компьютере пользователя.

Я не знаю о решении, которое просто работает после проверки проекта из SCM. Я считаю, что есть необходимость в этом и подобных сценариях настройки, поэтому я подал ошибку (радар 7203835, "Особенность: больше пользовательских сценариев запускается в рабочем процессе XCode"). Я еще не получил ни одного отзыва.

Вот полный текст записи радара:

Было бы полезно иметь больше мест для запуска скриптов в XCode.

Примеры:

  1. Предварительные сценарии сборки
    Предварительные сценарии сборки можно использовать для создания предварительных условий, таких как * .xcconfig files или config.h headers. Это невозможно с помощью "Выполнить этапы сборки сценария", так как отслеживание зависимостей происходит до того, как будет запущен какой-либо этап построения.

  2. Опубликовать сценарии сборки
    Аналогично вышеописанному, но выполняется после завершения сборки (включая подписывание кода и т.д.). Полезно для дополнительной упаковки, проверки действительности и т.д.

  3. Сценарии фиксации до/после SCM.
    Для проверки целостности проекта.

  4. Pre/Post Файл Сохранить скрипт.
    Чтобы проверить/изменить файл перед сохранением. Например. запустить Коди украшений

  5. Пользовательские действия проекта.
    Мне известно о способности организатора определять произвольные действия. Но это функция для каждого пользователя (не является частью проекта). Я хотел бы определить такие действия, как сборка или очистка, которые отображаются в меню сборки и являются частью проекта.

1
Nikolai Ruhe

Смотрите здесь для Xcode4: http://www.wezm.net/technical/2011/08/strip-trailing-whitespace-xcode-4/

Круто, Google Toolbox для Mac теперь добавляет опцию "обрезать пробелы" для Xcode4.

http://code.google.com/p/google-toolbox-for-mac/downloads/list

Спасибо тебе, Google!

1
gregschlom