【问题标题】:Documentation for Xcode Source Editor ExtensionXcode 源代码编辑器扩展的文档
【发布时间】:2016-10-28 15:22:18
【问题描述】:

我正在寻找 Xcode 8 中新的 Xcode Source Editor Extensions 的一些文档。

据我所知,XcodeKit 的头文件中只有“文档”。要是能得到更详细、更正式的东西就好了。

【问题讨论】:

    标签: xcode8 xcode-extension


    【解决方案1】:

    非常初步的XcodeKit reference 文档现已发布。

    我们的WWDC 2016 presentation introducing Xcode Source Editor Extensions 仍然是最好的演练。

    然而,最短的版本是:因为需要将 App Extensions 嵌入到应用程序中,所以您需要首先创建一个新的 macOS Cocoa 应用程序,然后向该应用程序添加一个新的 Xcode Source Editor Extension。然后XcodeKit reference 应该帮助一些人实现这一点。

    【讨论】:

    • 嗨,克里斯,关于 WWDC 的精彩演示!我找不到扩展的安装方式(存档后)。我注意到,一旦我运行该应用程序,它将显示在扩展名下的系统偏好设置中。之后,移入/移出垃圾箱将在系统偏好设置中显示/隐藏它。扩展在哪里注册?启动扩展应用程序时,用户库(应用程序支持或其他)中是否有文件?
    • Launch Services 会对此进行跟踪。没有 API 可以注册扩展。
    • 如果调试区域的控制台有类似“IDEExtensionManager: Xcode Extension does not combine XcodeKit:”的消息,那么转到扩展的目标,选项卡'General' > Frameworks and Libraries 和添加 XcodeKit with '嵌入和签名'。在模板中,Apple 确实添加了 Cocoa 框架,但忘记了 XcodeKit。
    【解决方案2】:

    不是真正的文档,但也是一个很好的参考 https://developer.apple.com/videos/play/wwdc2016/414/

    【讨论】:

      【解决方案3】:

      目前,扩展的文档很少。做了很多假设(例如,你知道你可以执行容器应用程序吗?是的,设置 GUI 真的很棒 - 看到这个How To Execute Container App - Second Answer

      目前,缺少很多东西:例如,没有显示数据对象对应行的结构 - 尽管使用以下代码快速创建:

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

      这将为您提供所有 \n 的位置 - 您应该能够填写其余部分,以便为您提供应该与行匹配的开始和结束位置。

      总而言之,这个扩展有很多值得喜欢的地方,但也缺少很多东西。

      【讨论】:

        【解决方案4】:

        目前唯一可用的文档在标题中;他们没有什么“非官方”的。如果您有具体问题,请提出。

        【讨论】:

        • 嗯,该文档非常简洁和简明,感觉好像它是现在的快速替代品,而不是将来更丰富的文档。例如,即使是在字典的commandDefinitions数组中如何填写identifierKey-nameKey和classNameKey-identifierKey字典这样的基本话题也完全没有提及。甚至不是模仿的例子。
        • 当前的官方文档让我想起了 1980 年代喜剧演员(斯蒂芬赖特?)曾经说过的一个笑话:家伙:你的电话号码是多少? gal:在电话簿里。男:哦,那你叫什么名字? gal:电话簿里也有。 (电话簿没有什么“非官方的”,但是,就像开玩笑一样,官方参考资料并不能很好地支持用例。)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        相关资源
        最近更新 更多