Разработка плагина Xcode 4 - PullRequest
46 голосов
/ 11 июня 2011

Я искал повсюду, но ничего не могу найти.Кто-нибудь знает, где найти документацию о том, как создать плагин Xcode 4?

Ответы [ 7 ]

53 голосов
/ 11 июня 2011

Насколько я знаю нет официального способа создания плагинов для Xcode 4 (точно так же, как не было ни одного для v3.x).

Вот openradar на отсутствие поддержки плагинов в Xcode:

Пожалуйста, поддержите возможность 3-го стороны расширять Xcode через общедоступный API плагинов. Диафрагма, Visual Studio, Eclipse, TextMate и другие приложения извлекают выгоду из этого способность. Я хотел бы видеть больше расширенный рефакторинг, анализ кода (думаю, Резарпер от Jetbrains) и моделирование.

Обеспечение API плагина для Xcode 4 (rdar: // 8622025)

Пожалуйста, дублируйте это, если вы хотите плагины !


Редактировать: Просто наткнулся на это:

Седрик Люти : « Xcode 4 поддерживает определяемые пользователем плагины , см. CLITool-InfoPlist для примера работающего Xcode 4 плагин. Вам просто нужно добавить XC4Совместимо (верно) в Info.plist. "

https://github.com/0xced/CLITool-InfoPlist


Как говорится, эти репозитории GitHub тоже могут пригодиться:


Еще больше mogenerator Плагин Xmod может быть хорошей отправной точкой.
(еще не был совместим с Xcode-4, хотя в прошлый раз я проверял)

7 голосов
/ 01 ноября 2012

Лучший способ выучить это посмотреть на код плагина github (см. Длинный список ниже):

  • В основном это плагин.
  • Нет main.m Нет MainMenu.xib
  • Первый класс загружается путем установки NSPrincipalClass в info.plist
  • в его инициализации: вы регистрируетесь для уведомлений AppKit
  • См. Примеры кода
  • некоторые проверяют идентификатор приложения mainBundle, чтобы убедиться, что это XCode
  • Класс окна редактора XCode - DVTSourceTextView
  • Это подкласс DVTSourceTextView: NSTextView: NSText
  • так что вы можете зарегистрироваться, чтобы прослушать его уведомления для NSTextView или NSText
  • , например, NSTextViewWillChangeNotifyingTextViewNotification

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

ОБРАЗЦЫ ПЛАГИНА XCODE

, скомпилированный в github / web для поиска

'DVTSourceTextView'

Это имя класса окна редактора Xcode

или

Ключ списка информации

'XC4Compatible'


https://github.com/omz/ColorSense-for-Xcode

https://github.com/ciaran/xcode-bracket-matcher
- uses a ruby parser run as pipe!

https://github.com/joshaber/WTFXcode
https://github.com/0xced/NoLastUpgradeCheck
http://code.google.com/p/google-toolbox-for-mac/downloads/list
    see GTMXcode4Plugin
https://github.com/DeepIT/XcodeColors
https://github.com/0xced/CLITool-InfoPlist
https://github.com/sap-production/xcode-ide-maven-integration
https://github.com/ciaran/xcode-bracket-matcher

ДОСТУП К NSTextView, который является консолью

https://github.com/sap-production/xcode-ide-maven-integration

- (NSTextView *)findConsoleAndActivate {
    Class consoleTextViewClass = objc_getClass("IDEConsoleTextView");
    NSTextView *console = (NSTextView *)[self findView:consoleTextViewClass inView:NSApplication.sharedApplication.mainWindow.contentView];

    if (console) {
        NSWindow *window = NSApplication.sharedApplication.keyWindow;
        if ([window isKindOfClass:objc_getClass("IDEWorkspaceWindow")]) {
            if ([window.windowController isKindOfClass:NSClassFromString(@"IDEWorkspaceWindowController")]) {
                id editorArea = [window.windowController valueForKey:@"editorArea"];
                [editorArea performSelector:@selector(activateConsole:) withObject:self];
            }
        }
    }

    return console;
}
4 голосов
/ 22 октября 2012

Взгляните на этот новый плагин: https://github.com/sap-production/xcode-ide-maven-integration. Возможно, вы сможете получить некоторые концепции для вашего плагина.

3 голосов
/ 09 сентября 2012

Вчера ColorSense для Xcode 4 был выпущен на Github. Поскольку код действительно компактен и состоит всего из 3 классов, я думаю, вам стоит взглянуть туда.

2 голосов
/ 12 июня 2011

Xcode не имеет общедоступного плагина API.

Это имело место с более ранними версиями, а также с Xcode 4.

0 голосов
/ 21 августа 2012

Взгляните на эту статью: Xcode 4: Плагины Interface Builder

0 голосов
/ 22 сентября 2011

Нет, Xcode не поддерживает плагины, в качестве альтернативы вы можете попробовать AppCode, другую IDE для iOS / MacOS, он поддерживает разработку плагинов.

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