Как настроить Xcode для установки '{', где я хочу его в сгенерированных файлах
Я знаю, что это довольно спорная проблема среди программистов, но при разработке мне нравится, когда моя IDE позиционирует открытую фигурную скобку под объявлением метода/интерфейса/управления для иллюстративных целей: -
Так Xcode автоматически генерирует скелетные методы с {в конце: -
-(void) isTrue:(BOOL)input {
if(input) {
return YES;
}
else {
return NO;
}
}
Вот как мне нравится выкладывать свой код (который, я считаю, называется Allman style): -
-(void) isTrue:(BOOL)input
{
if(input)
{
return YES;
}
else
{
return NO;
}
}
Мне просто интересно, есть ли какой-либо переключатель конфигурации в Xcode, чтобы включить этот стиль разработки? Это очень раздражает при наборе инструкций if
/else
, поскольку он стремится автоматически завершить предложение else
с {
в конце строки, которое выглядит просто глупо, если вам нравится разрабатывать с ними под ним.
Или я неразумный? Является ли Objective-C придерживаться стандарта, определенного Apple?
Ответы
Ответ 1
Взгляните на:
XCode: настройка отступов автоматически сгенерированных фигурных скобок?
Пользовательские настройки Apple Xcode
XCCodeSenseFormattingOptions = {
BlockSeparator = "\\n";
PreMethodDeclSpacing = "";
};
Это должно по крайней мере решить вашу проблему после операторов if, for или while.
Ответ 2
После переваривания полезной информации из WhirlWind выше (спасибо), полученный фрагмент (просто вырезать и вставить в терминал):
defaults написать com.apple.Xcode XCCodeSenseFormattingOptions -dict BlockSeparator "\\n" PreMethodDeclSpacing ""
Глупое цитирование косой черты. При вводе на терминале в блочном разделителе должно быть ДВА ДВОИХ обратных косых черт.
Ответ 3
Даже с этими настройками он не работает с шаблонами. Если вы установите это значение, а затем введите "init" в файле .m, вы получите:
- (id)init
{
self = [super init];
if (self) {
<#initializations#>
}
return self;
}
Обратите внимание на строку "if (self) {".
Ответ 4
Я считаю, что "defaults write com.apple.Xcode" не работает в последних версиях Xcode (7.x)
Вот рекомендации, которые я знаю:
-
Snippet Edit - эта небольшая программа позволит редактировать по умолчанию фрагменты кода Xcode. Таким образом, вы сможете открывать фигурные скобки из новой строки в if
, for
, while
и т.д. Однако это не позволяет изменять отступ блока.
-
Uncrustify - это может также решить вашу проблему, но это не похоже на то, что вы легко настраиваетесь. И он только форматирует код после, он уже написан, вместо форматирования 'на ходу'.