Objective-C Tidy - PullRequest
       26

Objective-C Tidy

15 голосов
/ 04 октября 2008

У меня немного отформатированная база кода Objective-C. Есть ли способ заставить Xcode переформатировать весь проект, чтобы он соответствовал стандарту кодирования (то есть, правильный отступ, пробелы, табуляции и т. Д.)? Есть ли другие инструменты, которые могут это сделать?

Ответы [ 8 ]

22 голосов
/ 04 октября 2008

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

Beautifier исходного кода для C, C ++, C #, ObjectiveC, D, Java, Pawn и VALA

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

8 голосов
/ 04 октября 2008

Простое, но ограниченное решение - Edit-> Format-> Re-Indent в Xcode, которое будет применять ваши текущие настройки отступов (Xcode-> Preferences… -> Indentation).

7 голосов
/ 04 октября 2008

Согласно этому сообщению в блоге , bcpp работает с Objective-C.

Кроме того, отступ инструмента может помочь вам. Он нацелен на простой 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.
5 голосов
/ 04 октября 2008

Из Xcode:

1) Измените настройки отступов в соответствии с вашими желаниями.

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

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

4) Используйте Re-Indent Selection (из Edit-> Format-> или из контекстного меню, вызываемого правой кнопкой мыши)

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

2 голосов
/ 01 марта 2010

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

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

0 голосов
/ 31 мая 2017

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

0 голосов
/ 13 сентября 2012

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

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

0 голосов
/ 03 января 2011

Один из способов использования uncrustify в другом контексте -

http://universalindent.sourceforge.net/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...