Документация для расширения редактора исходного кода Xcode

Я ищу некоторую документацию новых расширений редактора исходного кода Xcode в Xcode 8.

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

4 ответа

Очень предварительная справочная документация XcodeKit теперь доступна.

Наша презентация WWDC 2016, представляющая Xcode Source Editor Extensions, остается лучшим прохождением.

Однако самая короткая версия такова: поскольку расширения приложений должны быть встроены в приложение, вам необходимо сначала создать новое приложение MacOS Cocoa, а затем добавить новое расширение редактора исходного кода Xcode в это приложение. Тогда ссылка XcodeKit должна помочь некоторым в реализации этого.

Не совсем документация, но хорошая ссылка также https://developer.apple.com/videos/play/wwdc2016/414/

На данный момент расширения плохо документированы. Сделано много предположений (например, знаете ли вы, что вы можете запустить приложение контейнера? Да, это действительно хорошо для настроек GUI - см. Это Как выполнить приложение контейнера - Второй ответ)

На данный момент много чего не хватает: например, нет структуры, которая показывает соответствующие строки с объектом данных - хотя это быстро создается с помощью следующего кода:

    var matches: [NSTextCheckingResult] = []
    do {
        let regex = try NSRegularExpression(pattern: "\n", options: [])
        matches = regex.matches(in: completeBuffer,
                                options: [],
                                range: NSMakeRange(0, completeBuffer.count))
    }
    catch {

    }

Это дает вам местоположение всех \n s - вы должны быть в состоянии заполнить остальные, чтобы дать вам начальную и конечную позиции, которые должны соответствовать линиям.

В целом, в расширении есть что понравиться, но есть и некоторые упущенные вещи.

В настоящее время единственная доступная документация находится в заголовках; в них нет ничего "неофициального". Если у вас есть конкретные вопросы, пожалуйста, задавайте.

Другие вопросы по тегам