如何将我的配置添加到Sublime Text 2的菜单?

时间:2013-04-26 05:03:19

标签: configuration menu sublimetext2 preferences

我为Sublime Text 2编写了一个插件,它与我写的二进制文件进行了对话。我通过settings file将标志暴露给二进制文件,但我无法弄清楚如何将设置文件放入菜单栏。

Where I want the settings

到目前为止,{p> Here是我最好的尝试。

Here是关于设置的文档(不确定菜单上的文件在哪里)。

1 个答案:

答案 0 :(得分:1)

据我所知,为了将自己的项添加到菜单中,其原始声明必须具有预先存在的id值,然后必须将其包含在任何特定于包的菜单扩展中。例如,考虑Preferences的默认定义:

{
    "caption": "Preferences",
    "mnemonic": "n",
    "id": "preferences",
    "children": [ ... ]
},

值得注意的是,Settings – More中的Packages/Default/Main.sublime-menu对象id

{
   "caption": "Settings – More",
   "children": [ ... ]
},

您可以通过在默认id中向Settings – More添加Main.sublime-menu值并在您的包id中添加Main.sublime-menu来自行证明此要求,同样如何引用Preferences'id。然后,您的自定义菜单会显示在Settings – More下。

基于id Settings – More的排除,我认为Sublime Text 2的创建者并不打算让第三方软件包能够编辑相关菜单。另请注意,中的Settings – More 不是连字符(-);这不是你问题的原因,但我最初怀疑它可能是。

Preferences添加自己的软件包设置的标准做法似乎是在Preferences -> Package Settings中插入一个新项目,可以使用Main.sublime-menu这样的文件来完成:

[
  {
    "caption": "Preferences",
    "mnemonic": "n", // The mnemonics are for quick keyboard access
    "id": "preferences",
    "children": [
      {
        "caption": "Package Settings",
        "mnemonic": "P", // On windows, Alt+N (above) followed by Alt+P would open this menu
        "id": "package-settings",
        "children": [
          { 
            "caption": "Seeing Is Believing",
            "children": [
              {
                "command": "open_file",
                "args": {"file": "${packages}/Seeing Is Believing/Seeing Is Believing.sublime-settings"},
                "caption": "Settings – Default"
              }
            ]
          }
        ]
      }
    ]
  }
]

我强烈建议您引用一个菜单丰富的插件Main.sublime-menu,以确定您应该包含哪些内容以及应该如何执行此操作。在我的研究中,我检查了Sublime Text 2的Main.sublime-menuAdvancedNewFile's