Как создать пользовательские текстовые макросы в Xcode? - PullRequest
2 голосов
/ 16 февраля 2011

Как создать собственные макросы завершения кода в Xcode.Я погуглил и нашел некоторые методы, но я не понимаю их полностью.Так может кто-нибудь сказать мне, как это сделать?

Спасибо всем ..

1 Ответ

2 голосов
/ 19 февраля 2011

Это сообщение от ablepear содержит учебник по добавлению пользовательских текстовых макросов. Ниже приведены необходимые шаги, которые определяет учебник, для создания пользовательского текстового макроса для Objective - C.

  1. Перейдите в файл приложения Xcode (root / Developer / Applications /) . Щелкните правой кнопкой мыши (удерживая нажатой клавишу Control) и выберите Показать содержимое пакета. Перейдите к (Contents / PlugIns / TextMacros.xctxtmacro / Contents / Resources /) . Выберите файл Objective-C.xctxtmarco и скопируйте его (команда-c). Откройте новое окно Finder и выберите свою домашнюю папку. Перейдите к (Библиотека / Поддержка приложений / Разработчик / Общий / Xcode /) . В папке Xcode Вставьте (команда-v) файл Objective-C.xctxtmacro.

  2. Открыть Objective-C.cxtxtmacro. Он содержит массив с около 26 элементов , каждый из которых представляет собой словарь . Нажмите на символ / вкладку "+" справа от выбранной ячейки. Это добавит новый элемент к корневому массиву plist, который будет нашей новой записью (текстовое определение макроса).

  3. Выберите новый элемент и измените тип с Строка на Словарь . Теперь нажмите на раскрывающий треугольник (левая сторона выбранной ячейки), он повернет треугольник от направления вправо (свернуто) к направлению вниз (развернуто). Вы также можете заметить, что символ «+» справа превращается в набор строк при раскрытии элемента. Это позволяет нам добавлять «потомки» пары имя / значение в наш новый элемент.

  4. Есть несколько «дочерних» пар имя / значение, которые нам нужно добавить в наш новый Предмет, чтобы они работали, и они выглядят следующим образом:

    • Идентификатор - Описание языка макроса (родительского) .identifier.
    • BasedOn - Это (родительский) язык (objc).
    • IsMenuItem - Логическое значение. Это создает пункт меню в меню «Правка».
    • Имя - Имя прослушивается в (выше) пункте меню.
    • TextString - Фактическая строка, которая будет вставлена ​​через текстовый макрос.
    • CompletionPrefix - Это то, что вы вводите в качестве ключа для текстового макроса.
  5. Добавьте значения к клавишам. Типичный макрос выглядит следующим образом (например: текстовый макрос NSLog).

    • Идентификатор - объект. flog
    • BasedOn - objc
    • IsMenuItem -YES
    • Имя - Функция (NSLog)
    • TextString - NSLog (@ "FUNCTION:% s", _ FUNCTION _);
    • CompletionPrefix - flog

    Вы можете называть свой Identifier и CompletionPrefix как угодно, если они не конфликтуют с каким-либо существующим идентификатором завершения. Вот. flog , используется для журнала функций.

Прочтите пост в ссылке выше , чтобы понять полностью.


ВАЖНОЕ ОБНОВЛЕНИЕ: Кажется, что макрос v выше не работает в Xcode 3.2 . Чтобы это работало, мы должны добавить ключ,

OnlyAtBOL = YES; // or NO 

каждому определению макроса в вашем файле xctxtmacro. Этот ключ указывает, что макрос работает только в начале строки или не в начале строки, т. Е. Работает только после начала строки . Таким образом, макрос flog будет выглядеть следующим образом.

{
    Identifier = objc.flog;
    BasedOn = objc;
    OnlyAtBOL = YES;
    IsMenuItem = YES;
    Name = "Function (NSLog)";
    TextString = "NSLog(@"FUNCTION: %s", _FUNCTION_)";
    CompletionPrefix = "flog";
}

Надеюсь, это поможет кому-нибудь в будущем.

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