Подтвердить что ты не робот

Можно ли настроить стиль отступа XCode?

Например, я хотел бы не указывать пространства имен в коде на С++, но префикс, похоже, не имеет места, чтобы принять решение этой степени детализации. Есть ли скрытый файл конфигурации или что-то еще? Или мне просто не повезло?

4b9b3361

Ответ 1

Документация Apple XCode содержит полный список пользовательских настроек, многие из которых не имеют соответствующего пользовательского интерфейса. Однако я не вижу ничего, что связано с пространством имен, поэтому я думаю, что вам может быть не повезло.

Однако, я думал, что пройду по списку предпочтений, если это будет полезно.

Ответ 2

Я также попытался это сделать.

Ответ заключается в том, что тот, кто сделал форматирование кода в XCode, кажется совершенно не осведомленным о том, что существуют языки, отличные от Objective C, или стили кодирования, отличные от Apple.

Здесь список вещей, которые вы хотели бы сделать, не может быть выполнен в XCode.

  • Отступы public: или private: всего одно место.
  • Идентификаторы отступа пробегают нулевые пробелы.
  • Альтернативный отступ для аргументов NOT относительно открывающей скобки.

Последнее нужно немного обсудить. Иногда имя функции или метода может быть довольно длинным, а также его первый аргумент, поэтому вы также должны иметь возможность отступать следующим образом:

someExcitingClass->AVeryLongMethodNameTraLaLaLaLa(
    someLongExpressionOrVariableNameGoesHere,
    anotherNameHere);

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

Это ужасный позор, и я действительно не знаю, что делать. Я лично пишу в emacs и только погружаюсь в XCode в качестве системы сборки, но:-D это не для всех.

Ответ 3

Я вообще обходим отступ Xcode и имею пользователя script, который вызывает uncrustify в текущем отображаемом документе.

#!/bin/sh
#echo -n "%%%{PBXSelection}%%%"
uncrustify -q -c ~/.uncrustify/sample.cfg -l oc+
#echo -n "%%%{PBXSelection}%%%"

Примечания:

  • uncrustify должен находиться в вашей PATH
  • вам может потребоваться настроить расположение файла конфигурации
  • если вы хотите, чтобы новый код был выбран в Xcode, раскомментируйте два выражения echo (это также можно использовать для создания "Выбор формата" script, а не "Форматировать все"

Script Настройки:

  • Вход: весь документ
  • Каталог: домашний каталог
  • Выход: Заменить содержание документа
  • Ошибки: отображение в предупреждении

Ответ 4

Как и в Xcode 4.3.1, нет доступных параметров отступа произвольного пространства имен, однако я преодолел это раздражение, перейдя в Preferences- > Text Editing- > Отступы и отключив "Отступы с поддержкой синтаксиса".

Ответ 5

Поскольку индентор Xcode использует только лексер, а не AST, вы можете "обмануть" форматирование, выделив фигурные скобки.

У меня есть:

#define NAMESPACE_OPEN(_name) namespace _name {
#define NAMESPACE_CLOSE(_name) }

#define dsmsg_namespace_open NAMESPACE_OPEN(dsmsg)
#define dsmsg_namespace_close NAMESPACE_CLOSE(dsmsg)

i., общий 'NAMESPACE_OPEN/CLOSE' определяет и определяет конкретное для моего наиболее используемого пространства имен 'dsmsg'. Затем, когда я хочу открыть пространство имен, я использую

dsmsg_namespace_open

... code ...

dsmsg_namespace_close

Уродливый взломать, но мне очень нравится иметь конкретный, названный 'close'