Как я могу настроить XCode, чтобы поместить '{', где я хочу это в сгенерированных файлах - PullRequest
10 голосов
/ 10 апреля 2010

Я знаю, что это довольно спорная проблема среди программистов, но при разработке мне нравится моя IDE, чтобы расположить открывающую фигурную скобку под декларацией метода / интерфейса / элемента управления, в иллюстративных целях: -

Так Xcode автоматически генерирует скелетные методы с {в конце: -

-(void) isTrue:(BOOL)input {
    if(input) {
        return YES;
    }
    else {
        return NO;
    }
}

Вот как мне нравится выкладывать свой код (который, я считаю, называется стиль Allman ): -

-(void) isTrue:(BOOL)input 
{
    if(input) 
    {
        return YES;
    }
    else 
    {
        return NO;
    }
}

Мне просто интересно, есть ли в Xcode какой-либо переключатель конфигурации для включения этого стиля разработки? Это действительно раздражает, когда вы печатаете операторы if / else, поскольку имеет тенденцию автоматически завершать предложение else с { в конце строки, что выглядит просто глупо, если вам нравится работать с ними внизу.

Или я неразумен? Должен ли Objective-C придерживаться стандарта, определенного Apple?

Ответы [ 4 ]

9 голосов
/ 10 апреля 2010

Взгляните на:

XCode: регулировка отступа автоматически генерируемых фигурных скобок?

Настройки Apple Xcode по умолчанию

XCCodeSenseFormattingOptions =     {
BlockSeparator = "\\n";
PreMethodDeclSpacing = "";
};

Это должно по крайней мере решить вашу проблему после операторов if, for или while.

2 голосов
/ 10 апреля 2010

После переваривания полезной информации из WhirlWind выше (спасибо), полученный фрагмент (просто вырезанный и вставленный в терминал):

по умолчанию написать com.apple.Xcode XCCodeSenseFormattingOptions -dict BlockSeparator "\\ n" PreMethodDeclSpacing ""

Глупое цитирование с обратной косой чертой. При вводе на терминале в разделителе блоков должно быть ДВА ровно ДВУХ обратной косой черты.

0 голосов
/ 01 февраля 2016

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

Вот решения, которые я знаю:

  1. Редактирование фрагмента - эта небольшая программа позволит редактировать фрагменты кода Xcode по умолчанию. Таким образом, вы сможете открывать фигурные скобки из новой строки в if, for, while и т. Д. Однако это не позволяет изменить отступ блока.

  2. Uncrustify - это может решить и вашу проблему, но не похоже, что ее легко установить. И он только форматирует код после того, как он уже записан, вместо форматирования 'на ходу' .

0 голосов
/ 22 марта 2012

Даже с этими настройками он не работает с шаблонами. Если вы установите это, а затем напечатаете «init» в файле .m, вы получите:

- (id)init
{
  self = [super init];
  if (self) {
    <#initializations#>
  }
  return self;
}

Обратите внимание на строку if (self) {".

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