Автоматического форматирования в Xcode
как разработчик C#, я стал сильно зависеть от автоматического форматирования в Visual Studio 2008. В частности, я буду использовать CTRL + K,D сочетание клавиш, чтобы заставить вещи вернуться в форму после моей небрежной реализации.
теперь я пытаюсь изучить Objective-C и пропускаю некоторые функции в Xcode, но, вероятно, ни один из них не так болезнен, как ярлык форматирования. Мои поиски Google не дали ничего построенного в, Хотя, кажется, есть некоторые хаки. Я что-то пропустил, или эта функция не существует изначально в Xcode?
20 ответов:
к сожалению, Xcode не имеет ничего почти такого же обширного, как VS или Jalopy для Eclipse. Есть некоторые несопоставимые функции, такие как
Structure > Re-Indentа также автоматическое форматирование при вставке кода в исходный файл. Но я полностью с вами, наверняка есть должны быть что-то там, чтобы помочь с проблемами форматирования.
Это Ctrl + Я.
или для низкотехнологичных, вырезать, а затем вставить. Он переформатируется на пасту.
Я хотел бы порекомендовать два варианта, которые стоит рассмотреть. Оба совершенно новые и эволюционирующие.
ClangFormat-Xcode (бесплатно) - на каждом cmd+S файл переформатирован в определенный стиль и сохраняется, легко развертывается в команде
плагин Xcode для форматирования кода с помощью инструментов форматирования Clang, by @travisjeffery.
с clang-format вы можете использовать Clang для форматирования кода в такие стили как LLVM, Google, Chromium, Mozilla, WebKit, или ваша собственная конфигурация.
с очень минимальные настройки, вы можете получить Xcode, чтобы использовать наше приложение, чтобы обеспечить свои правила. Если вы когда-либо поймали нарушение одного из ваших правил, Xcode выбросит ошибку сборки и приведет вас прямо к нарушителю линия.
в xcode вы можете использовать этот ярлык для форматирования (повторного отступа) вашего исходного кода
команда + A чтобы выбрать все исходные коды
Ctrl + Я для повторного отступа
надеюсь, что это помогает.
мои личные PrettyC wantabe Fav-это uncrustify: http://uncrustify.sourceforge.net/. У него есть несколько миллиардов вариантов, однако так я и предлагаю вам скачать UniversalIndentGUI_macx, (также на SourceForge) графический интерфейс, кто-то написал, чтобы помочь установить параметры так, как вам удобно.
затем вы можете добавить этот пользовательский скрипт, чтобы удалить выделенный текст:
#! /bin/sh # # uncrustify! echo -n "%%%{PBXSelection}%%%" /usr/local/bin/uncrustify -q -c /usr/local/share/uncrustify/geo_uncrustify.cfg -l oc+ <&0 echo -n "%%%{PBXSelection}%%%"
можно использовать команда + A выбрать все содержимое и далее Ctrl + Я для форматирования выбранного контента.
подумайте о покупке лицензии для AppCode, интеллектуальная IDE Objective-C, которая помогает разработчикам iOS / OS X. AppCode полностью совместим с Xcode, но выходит за рамки Xcode при добавлении мощные функции.
AppCode вариант Objective-C Intellij IDEA IDE с JetBrains. Они также являются авторами популярных для ReSharper расширение для Visual Studio, основная цель которого отсюда выглядит как отчаянная попытка привнести нотку идеи в продукт Microsoft.
AppCode использует свой собственный анализатор кода, который дает близкую к идеальной поддержку рефакторинга и навигации по коду. Существует возможность повторного отступа и полностью переформатировать код (хотя я все еще продолжаю пропускать пару настроек форматирования в сложных случаях, но в основном это работает хорошо).
вы можете попробовать пробную версию, конечно.
Я также чувствую, что xcode должен иметь эту функцию. Поэтому я сделал расширение, чтобы сделать это: Swimat
простая установка с помощью
brew cask install swimatвы можете попробовать, см. https://github.com/Jintin/Swimat для получения дополнительной информации.
вы также можете посмотреть на https://github.com/octo-online/Xcode-formatter который является форматером, основанным на Uncrustify и интегрированным в Xcode. Работает как шарм.
вы можете попробовать этот плагин XCodehttps://github.com/benoitsan/BBUncrustifyPlugin-Xcode
просто клонируйте репозиторий github, откройте проект плагина в XCode и запустите его. Он будет установлен автоматически. Перезапустите Xode перед использованием плагина форматирования.
Не забудьте установить uncrustify util раньше. Доморощенный, например
brew install uncrustifyP. S. Вы можете включить "после сохранение функции форматирование" в меню "Редактирование" > формат кода > BBUncrustifyPlugin Настройки > Формат При Сохранении
надеюсь, что это будет полезно для u ; -)
Я предлагаю использовать ClangFormat. Для того, чтобы установить, пожалуйста, выполните следующие действия:
- установите менеджер пакетов Alcatraz для XCode Поддержка Xcode 5 + и OS X 10.9+
- после установки перезапустите XCode.
- Открыть XCode - > Меню Окна - > Менеджер Пакетов
- поиск (найти) ClangFormat и установить его. После установки снова перезапустите XCode.
- Теперь в меню XCode вы можете использовать подменю Edit - > Clang Format для форматирование.
вы можете выбрать различные типы форматирования. Также путем включения Формат При Сохранении вы можете получить возможность автоматического форматирования.
Если ваш Xcode версии 3.x, вы должны использовать "пользовательский скрипт" с Uncrustify , вот этот пример:
#!/bin/sh echo -n "%%%{PBXSelection}%%%" $YOURPATH_TO_UNCRUSTIFY/uncrustify -q -c $YOURPATH_TO_UNCRUSTIFY_CONFIG/CodeFormatConfig.cfg -l OC+ echo -n "%%%{PBXSelection}%%%"добавить выше в свой Xcode "пользовательский скрипт".
если Xcode версии 4.x, я думаю, вы должны прочитать этот блог:форматирование кода в Xcode 4,
таким образом, используется "службы Apple", но это не достаточно хорошо, потому что слишком медленный опыт, кто-нибудь имеет то же самое ?
почему apple drop " пользователь сценарий. "... xD
сначала изучите раздел "отступ" настроек XCode. Вы можете настроить вещи немного есть...
для более мелкозернистого управления, обратитесь к Xcode User Defaults документ от apple. (Может потребоваться логин разработчика для просмотра). Например, я смог отключить "отступ при вставке", введя следующее в терминале:
defaults write com.apple.XCODE PBXIndentOnPaste Noчтобы прочитать ваши настройки:
defaults read com.apple.XCODE PBXIndentOnPaste
это работает только для языков с не обозначенными пробелами, но мое решение-удалить все пробелы, кроме пробелов, а затем добавить новую строку после символов, которые обычно обозначают EOL (например, заменить '; ' на '; \n'), а затем сделать вездесущий ^+i решение.
Я использую Python.
пример кода, просто замените имена:
python -c "import re; open(outfile,'w').write(re.sub('[\t\n\r]','',open(infile).read()).replace(';',';\n').replace('{','{\n').replace('}','}\n'))"это не идеально (пример: для петель), но мне это нравится.
мы можем использовать Xcode Formatter, который использует uncrustify легко форматировать исходный код, как ваша команда точно хочет быть!.
установка Рекомендуется клонировать проект GitHub или загрузить его из https://github.com/octo-online/Xcode-formatter и добавьте каталог CodeFormatter в свой проект Xcode, чтобы получить : Форматирование кода на основе ярлыков Xcode: ярлык для форматирования измененных источников в текущей рабочей области автоматическое форматирование кода: добавить этап сборки для вашего проекта для форматирования текущих источников при сборке приложения форматирование всех источников: форматирование всего кода с помощью одной командной строки правила форматирования, общие для проекта: редактирование и использование одного файла конфигурации с командой разработчиков проекта 1) Как настроить форматер кода для вашего проекта Установить uncrustify Самый простой способ - использовать заварку: $ brew install uncrustify
для установки brew: $ ruby-e " $(curl-fsSkl raw.github.com/mxcl/homebrew/go)"
проверьте, что uncrustify находится в /usr / local/bin долларов США, что uncrustify
Если ваша версия uncrustify ниже 0.60, вам может потребоваться установить ее вручную, так как недавно был добавлен современный синтаксис Objective-C. Добавьте каталог CodeFormatter рядом с вашим .xcodeproj file
проверьте, что ваше приложение Xcode называется "Xcode" (имя по умолчанию) Вы можете увидеть это имя в каталоге Applications / (или ваш пользовательский Xcode каталог установки.) Будьте осторожны, если у вас есть несколько экземпляров Xcode на вашем mac: убедитесь, что один проект на самом деле называется "Xcode"! (Почему это ? Это имя используется для поиска открытых в данный момент файлов Xcode. См. CodeFormatter / Uncrustify_opened_Xcode_sources.рабочего процесса с помощью AppleScript). Установите службу automator Uncrustify_opened_Xcode_sources.рабочий процесс Скопируйте этот файл в папку ~ / Library/ Services / (при необходимости создайте эту папку).будьте осторожны : дважды щелкнув .файл рабочего процесса, вы установить его, но файл будет удален! Не забудьте оставить копию для других пользователей.
как форматировать открытые файлы при построении проекта Добавьте этап сборки "run script", содержащий следующую строку:
sh CodeFormatter/scripts/formatOpendSources.sh
как форматировать файлы в командной строке
для форматирования открытых файлов используйте formatOpenedSources.sh:
$sh CodeFormatter/scripts/formatOpendSources.sh
чтобы отформатировать все файлы, используйте formatAllSources.sh:
$sh CodeFormatter/scripts/formatAllSources.sh путь
путь должен быть заменен вашим исходным путем.
E: g; если имя проекта TestApp, то команда будет
$sh CodeFormatter/scripts/formatAllSources.sh TestApp
Он будет искать все файлы в проекте и формат все файлы как настроить в файл uncrustify_objective_c.cfg.
Как изменить правила форматирования
редактировать CodeFormatter / uncrustify_objective_c. cfg открыть с помощью TextEdit
Swift -https://github.com/nicklockwood/SwiftFormat
Он обеспечивает расширение Xcode, а также опцию CLI.


Comments