Objective-C Tidy

У меня есть немного грязно-отформатированная база кода Objective-C. Есть ли способ, чтобы Xcode переформатировал весь проект в соответствии со стандартом кодирования (т.е. Правильно отступ, пробелы v. Tabs и т.д.)? Существуют ли другие инструменты, которые могут это сделать?

Ответ 1

Uncrustify: http://uncrustify.sourceforge.net/

Исходный код Beautifier для C, С++, С#, ObjectiveC, D, Java, Pawn и VALA

Если вы хотите что-то более простое, возможно, вам удастся каким-то образом устранить все пробелы в пробелах/линиях и добавить новый разрыв строки на ; { } и вручную - указание кода. Он не будет нигде рядом с полностью выложенным кодом, и повторное использование может быть болью на большом коде, но оно будет непротиворечивым.

Ответ 2

Простое, но ограниченное решение - Edit- > Format- > Re-Indent в Xcode, которое применит ваши текущие настройки отступов (Xcode- > Preferences... → Отступ).

Ответ 3

В соответствии с этим сообщением , bcpp работает с Objective-C.

Кроме того, инструмент indent может помочь вам. Он нацелен на простой C, но имеет множество вариантов, которые могли бы помочь. Я не знаю, идет ли это по умолчанию на OS X, хотя.

NAME
       indent - changes the appearance of a C program by inserting or deleting
       whitespace.

SYNOPSIS
       indent [options] [input-files]

       indent [options] [single-input-file] [-o output-file]

       indent --version

DESCRIPTION
       This man page is generated from the file indent.texinfo.  This is  Ediâ
       tion  of "The indent Manual", for Indent Version , last updated .

       The  indent  program  can  be used to make code easier to read.  It can
       also convert from one style of writing C to another.

       indent understands a substantial amount about the syntax of C,  but  it
       also attempts to cope with incomplete and misformed syntax.

Ответ 4

Из Xcode:

1) Измените настройки отступов, чтобы они соответствовали тому, что вы хотите.

2) Выберите файл для работы и выберите "Все" (cmd-A)

3) Сдвиньте влево (cmd- [) несколько раз, пока все линии не будут у левого края окна.

4) Используйте выбор повторного отступа (из меню "Редактировать- > Формат- > или в контекстном меню правой кнопки мыши)

Работает только по одному файлу за раз, а не по всему проекту. Также имеет дело только с отступом.

Ответ 5

После обработки несколькими внешними форматировщиками и слабым внутренним форматированием xcode я, наконец, решил с uncrustify. Uncrustify имеет неплохую поддержку Objective-C, ее можно легко интегрировать с xcode в качестве пользователя script, а также обеспечивает централизованный форматтер для почти всех языков, поддерживаемых xcode.

Самое большое препятствие с uncrustify - это сложный файл конфигурации. Моя рекомендация, возьмите одну из предоставленных конфигураций образцов (ben2.cfg очень хорошо), объедините образец objc.cfg и при необходимости настройте.

Ответ 7

Единственная особенность "GTMXcodePlugin", например, Google Toolbox для Mac Xcode Plugin - делает большую работу по упорядочению кода objective-c, эффективно и безопасно обрезая пробелы.

Плагин GTM Xcode 4 в настоящее время добавляет пункт меню "Очистить пробелы" в конец меню "Редактировать", чтобы удалить ненужные конец строки пробела из текстовых файлов. Надеемся, что в ближайшее время мы добавим новые функции. Он был протестирован только с Xcode 4.2.

Ответ 8

Самый новый, самый лучший способ сделать это, начиная с этой записи, SpaceCommander. Он основан на вершине clang и имеет множество других опрятных функций, и поддерживается и работает на момент написания этой статьи.