2013-08-04 18 views
1

我想创建一个自定义包,我想要做的一件事就是在命令面板(show_overlay)中调出构建系统(位于工具菜单项中)。所以,我试图在我的包来创建一个Default.sublime的命令文件,并键入...从命令选项板在ST2中缺少项目

[ 
    { "caption": "Build System", "command": "build_system" } 
] 

...启用命令调色板(我也试过set_build_system)该菜单项,然后我在我的包中创建一个Default.sublime,键盘映射文件,这样我可以从通过快捷方式访问构建系统列表...

[ 
    { 
    "keys": ["f9"], "command": "show_overlay", 
    "args": {"overlay": "command_palette", "text": "Build System"} 
} 
] 

我没有任何运气露出构建系统菜单项命令调色板。我可以得到一些帮助吗?我也注意到Tools菜单项在命令面板中也不可用。我错过了什么?

+0

命令面板和菜单是两个截然不同的东西。只是因为菜单中出现的东西,并不意味着与它相似的任何东西都会出现在命令面板中。我不认为你想要的行动是可能的。 – skuroda

+0

我在摆弄它一段时间后使用它,并使用sublime.log_command()函数 –

+0

很高兴你的工作。我以为你想打开菜单,而不是选择具体的东西。 – skuroda

回答

2

好吧我想通了。命令调色板只能由以崇高运行的现有命令填充。您可以查看哪些命令是以崇高运行的方式打开控制台(CTR +〜)并键入sublime.log_command(True)

现在,只要您执行任何使崇高触发命令的操作,将在控制台中记录该操作。有了这些知识,我们我们去工具>构建系统,并点击我们想要的,比如说创建系统类型,C++,我们得到:

command: set_build_system {"file": "Packages/C++/C++.sublime-build"} 

甜!知道了这一点,我们可以去我们的.sublime的命令文件(也可以称之为Default.sublime的命令),然后键入下面的代码:

[ 
    { 
      "caption": "Set Build System: C++", "command": "set_build_system", 
      "args": { "file":"Packages/C++/C++.sublime-build" } 
    } 

] 

提示:密切关注的“标题”这是我们将用于将我们的.sublime命令文件与我们的.sublime-keymap文件绑定。让我们添加另一个编译系统:

[ 
    { 
     "caption": "Set Build System: C++", "command": "set_build_system", 
     "args": { "file":"Packages/C++/C++.sublime-build" } 
    }, 

    { 
     "caption": "Set Build System: Python", "command": "set_build_system", 
     "args": { "file":"Packages/Python/Python.sublime-build" } 
    } 



] 

现在,我们已经暴露在我们的.sublime的命令文件这两个命令。我们可以在我们的.sublime-keymap文件中为它创建一个快捷方式。我打电话给我的Default.sublime-keymap:

[ 
    { 
     "keys": ["f8"], "command": "show_overlay", 
     "args": {"overlay": "command_palette", "text": "Set Build System:"} 
    } 
] 

注意“文本”键。看起来熟悉?这就是你如何连接你的键绑定到你的命令。保存按F8和繁荣!你有我们自己的自定义命令调色板菜单。请享用!您可以将.sublime-commands/.sublime-keymap文件放入您的用户包中,或添加到任何现有的文件夹中,如果您只是想自定义崇高文本2而不制作自定义包装。