【问题标题】:Can you insert separators into the generated menu items for an Xcode extension's commands (under 'Editor' menu)?您可以在生成的 Xcode 扩展命令的菜单项中插入分隔符(在“编辑器”菜单下)吗?
【发布时间】:2017-12-14 01:37:27
【问题描述】:

在编写 Xcode 扩展时,您定义的任何命令都会自动显示为 Xcode 的“Editor/”菜单下的一个长列表。

例如,如果您使用八个命令定义一个名为“我的第一个 Xcode 扩展”的扩展,它看起来像这样...

Xcode
  ├── File Menu
  ├── Edit Menu
  ├── View Menu
  ├── Find Menu
  ├── Navigate Menu
  └── Editor Menu
      ├── My First Xcode Extension <-- Your extension appears here
      │   ├── Command1             <-- All your commands are listed here
      │   ├── Command2
      │   ├── Command3
      │   ├── Command4
      │   ├── Command5
      │   ├── Command6
      │   ├── Command7
      │   └── Command8
      └── Some Other Extension
          ├── CommandA
          └── CommandB

但是,有些命令是相关的,所以我想将它们分组,像这样......

Xcode
  ├── File Menu
  ├── Edit Menu
  ├── View Menu
  ├── Find Menu
  ├── Navigate Menu
  └── Editor Menu
      ├── My First Xcode Extension
      │   ├── Command1
      │   ├── Command2
      │   ├── --------   <-- Need separator here
      │   ├── Command3
      │   ├── Command4
      │   ├── Command5
      │   ├── --------   <-- and here
      │   ├── Command6
      │   ├── Command7
      │   └── Command8
      └── Some Other Extension
          ├── CommandA
          └── CommandB

这是我所追求的一个例子 类扩展:NSObject,XCSourceEditorExtension {

    var commandDefinitions: [[XCSourceEditorCommandDefinitionKey:Any]] {

        return [

           [XCSourceEditorCommandDefinitionKey.classNameKey  : String(reflecting:FirstCommandClass.self),
            XCSourceEditorCommandDefinitionKey.identifierKey : "doSomething",
            XCSourceEditorCommandDefinitionKey.nameKey       : "Do something cool"],

           [ // What goes here to create a separator...],

           [XCSourceEditorCommandDefinitionKey.classNameKey  : String(reflecting:SecondCommandClass.self),
            XCSourceEditorCommandDefinitionKey.identifierKey : "doSomethingElse",
            XCSourceEditorCommandDefinitionKey.nameKey       : "Do something else just as cool"]
        ]
    }
}

是否可以添加分隔符?

【问题讨论】:

    标签: swift xcode xcode-extension


    【解决方案1】:

    目前不支持。

    【讨论】:

    • 您能详细说明一下吗?这并不是一个真正的明确答案,因为它没有提供参考,也没有解释为什么不支持。
    • “为什么”问题不是任何有内部知识的人都可以回答的。至于这个答案是否(目前)是确定的,我可以向你保证是的。观看关于源代码编辑器扩展的 WWDC 2016 演示文稿,了解为什么我在该主题上所说的应该被视为如此。
    • 我看过了。但是,我一定错过了您所指的部分。你知道它在视频中的大致下落吗?我会再检查一遍,但不想花一个小时寻找那件事。
    • 我不是说“视频说不支持分隔符”。我是说“我是视频中的人,所以你可以将我所说的话视为该主题的权威。”
    • [麦克风掉落]。好吧……绝对不能反驳!点,你,先生! :)。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多