Конечные пробелы для обрезки в XCode

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

Теперь, я предположение , Ваш вопрос состоит в том, почему необходимо сделать это:

try
{
    doSomething();
}
catch
{
    catchSomething();
}
finally
{
    alwaysDoThis();
}

, Когда можно сделать это:

try
{
    doSomething();
}
catch
{
    catchSomething();
}

alwaysDoThis();

ответ - то, что много времен код в Вашем операторе выгоды или повторно бросит исключение или убежит из текущей функции. С последним кодом, "alwaysDoThis ()"; вызов не выполнится, если код в операторе выгоды выпустит возврат или выдаст новое исключение.

93
задан Keith Smiley 30 December 2014 в 02:05
поделиться

3 ответа

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

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

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

#!/usr/bin/perl

while (<>) {
    s/\s+$//;
    print "$_\n";
}
25
ответ дан 24 November 2019 в 06:12
поделиться

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

Изменить:

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

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

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

I ' m не знает о решении, которое просто работает после проверки проекта в SCM. Я считаю, что есть необходимость в этом и подобных сценариях настройки, поэтому я зарегистрировал ошибку (радар 7203835, «Функция: больше триггеров пользовательских сценариев в рабочем процессе Xcode»). Я пока не получил никаких отзывов.

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

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

Примеры:

  1. Предварительные скрипты сборки
    ] Сценарии предварительной сборки могут использоваться для создания предварительных условий, таких как файлы * .xcconfig или заголовки config.h. Это невозможно с «Фазами выполнения сценария сборки», поскольку отслеживание зависимостей происходит до запуска какой-либо фазы сборки.

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

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

  4. Сценарий сохранения файла до и после завершения.
    Чтобы проверить / изменить файл перед сохранением. Например, запустите cody beautifiers

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

1
ответ дан 24 November 2019 в 06:12
поделиться

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

24
ответ дан 24 November 2019 в 06:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: