Разработка плагинов Xcode 4 - программирование
Подтвердить что ты не робот

Разработка плагинов Xcode 4

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

4b9b3361

Ответ 1

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

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

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

Предоставить API плагина для Xcode 4 (rdar://8622025)

Прошу обмануть это, если вы хотите плагины!


Изменить: просто наткнулся на это:

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

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


Считая, что эти репозитории GitHub также могут быть полезны:


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

Ответ 2

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

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

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

ОБРАЗЦЫ XCODE PLUGIN

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

'DVTSourceTextView'

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

или

Кнопка Info-list

'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

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

Ответ 5

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

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

Ответ 7

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