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

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

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

Ответ 1

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

  • Выберите меню "Сценарии" > "Редактировать пользовательские скрипты..."
  • Нажмите кнопку + и выберите "Новая оболочка" Script
  • Дайте ему имя, например "Стрип-трейлинг-пространства", и дайте ему ярлык, например ^⇧R.
  • Установите значение "Выбор" и "Вывод" на "Заменить выбор"

Затем введите следующий script:

#!/usr/bin/perl

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

Ответ 2

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

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

Xcode preferences screenshot

Ответ 3

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

Ответ 4

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

Edit:

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

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

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

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

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

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

Примеры:

  • Предварительные сценарии сборки
    Сценарии предварительной сборки могут использоваться для создания таких предварительных условий, как файлы *.xcconfig или заголовки config.h. Это невозможно с помощью "Запустить script Фазы сборки", поскольку отслеживание зависимостей происходит до того, как будет запущена любая фаза сборки.

  • Пост-скрипты сборки Как и выше, но работает после сборки (включая подписание кода и т.д.). Полезно для дополнительной упаковки, проверка достоверности и т.д.

  • Предварительные/пост SCM-скрипты.
    Чтобы проверить целостность проекта.

  • Сохранить файл Pre/Post Script.
    Чтобы проверить/изменить файл перед сохранением. Например. бежать cody beautifiers

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

Ответ 6

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

Способы установки

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

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