Xcode: регулировка отступа автоматически сгенерированных скобок? - PullRequest
38 голосов
/ 25 декабря 2008

Код, автоматически сгенерированный Xcode, по умолчанию имеет открывающую скобку в той же строке:

@interface Controller : NSObject {

}

Мне бы хотелось, чтобы открывающая скобка была на отдельной строке, например:

@interface Controller : NSObject 
{

}

В целом это относится к любому методу / классу, автоматически сгенерированному Xcode. В настройках XCode у меня "Indent solo {by" установлен в 0: alt text

Как я могу это исправить?

Ответы [ 6 ]

22 голосов
/ 07 мая 2010

Для Xcode 3.x вы можете использовать следующее: Если вы откроете сеанс терминала и введете
defaults write com.apple.Xcode XCCodeSenseFormattingOptions '{ "BlockSeparator" = "\n" ; }'
, он начнет новые блоки кода с новой строки. Обратите внимание, что вам придется перезапустить XCode, если он у вас открыт, чтобы можно было прочитать и использовать новые значения по умолчанию.

Для Xcode 4.x до 6.x (текущий) я предлагаю вам использовать Snippet Edit в качестве удобного инструмента для редактирования фрагментов, которые определяют автозаполнение Xcode. В настоящее время это бесплатно и прекрасно работает.

8 голосов
/ 25 декабря 2008

Новый проект и Новый файл Команды на самом деле не генерируют никакого кода ; они заполняют шаблонов .

Вам нужно будет создать свои собственные шаблоны (возможно, на основе Apple) с нужными вам изменениями.

В Xcode 3.1 , стоковые шаблоны в /Developer/Library/Xcode. Вы поместите ваши измененные копии в ~/Library/Application Support/Developer/Shared/Xcode. Обратите внимание на подпапки этих папок.

7 голосов
/ 04 ноября 2009

Я бы тоже хотел это увидеть, мне не нравится, когда фигурные скобки в «новой школе» находятся на одной линии с функциями или циклическим управлением.

При редактировании и перетасовке строк кода проще сохранять релевантность всего в одной строке. Фигурные скобки должны определять только область видимости, они не являются частью определения функции или выполнения программы (например, if, for и т. Д.).

Изменение всех шаблонов не очень хорошее решение, но все равно спасибо за информацию.

7 голосов
/ 25 декабря 2008

Читать это: XCCodeSenseFormattingOptions

В этом документе описаны все параметры форматирования, которые автозаполнение будет использовать для фигурных скобок и стиля аргумента. Вот мой:

    XCCodeSenseFormattingOptions =     {
    BlockSeparator = "\\n";
    PreMethodDeclSpacing = "";
};
3 голосов
/ 09 февраля 2011

Если вы хотите иметь свой предпочтительный стиль во всех ситуациях, вам нужно сочетание ответа Laughing_Jack и ответа Питера Хоси. В дополнение к тому, что сказал Питер Хоси, вам также может быть интересно узнать, что шаблоны файлов Cocoa Touch находятся в следующем месте. Вы также можете скопировать этот каталог в свои пользовательские шаблоны:

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/File Templates/Cocoa Touch Classes/

Пользовательские настройки XCode дают вам стиль при вводе кода вручную, шаблоны файлов предоставляют его при автоматической генерации нового класса и т. Д.

0 голосов
/ 11 декабря 2015

Я считаю, что «по умолчанию напишите com.apple.Xcode» не работает на последних версиях Xcode (7.x)

Обходной путь - отредактировать фрагменты кода по умолчанию.

Однако Xcode не позволяет изменять фрагменты кода по умолчанию.

Чтобы изменить их, вы можете загрузить программу «Snippet Edit» с здесь

...