Sublime text 3 build 3083运行变量未自动选择

时间:2015-03-26 22:09:49

标签: c++ sublimetext3

我使用Sublime Text 3进行C ++开发。我刚刚从Sublime Text 3的上一版本更新到当前版本(build 3083)。困扰我的唯一一件事就是每当我尝试" Run"一个C ++程序,使用Command + Shift + B(OS X),而不是运行构建,它提供了一个菜单,我必须从中选择配置,例如

  • C ++单个文件
  • C ++单个文件 - 运行
  • 我的自定义C ++
  • 我的自定义C ++ - 运行

这很烦人,之前的Sublime 3没有这样做(它能够自动选择正确的配置)。该问题不会出现在构建(Command + B)上,而只会出现在尝试使用Command + Shift + B运行构建时。

有谁知道如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

我也遇到了这个问题,挖掘this thread帮助我弄清楚发生了什么。

执行主构建系统命令的 Ctrl + B 的旧行为,以及执行第一个变体 Ctrl + Shift + B 已更改。现在后者总是显示具有适用的所有构建系统的命令调色板。一旦选择了要从调色板运行的变体,随后的 Ctrl + B 将重新运行相同的变体,直到您使用 Ctrl + Shift + B 选择另一种变体。

我测试了两种不同的方法来恢复旧的行为,都涉及添加自定义键盘绑定

{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": false} }

{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"variant": "Run"} }

(在第二种情况下,用你的变体名称替换Run

链接线程还说你可以指定 sublime-build 文件的路径

{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"build_system": "Packages/ALanguage/ALanguage.sublime-build", variant": "Run"} }

答案 1 :(得分:2)

    {
        "keys": ["super+b"], 
        "command": "build",
        "context": [
            { "key": "selector", "operator": "equal", "operand": "source.c++" }
        ], 
        "args": {
            "build_system": "Packages/C++/C++.sublime-build",
            "variant": "Build"
        }
    },

    {
        "keys": ["super+shift+b"], 
        "command": "build",
        "context": [
            { "key": "selector", "operator": "equal", "operand": "source.c++" }
        ],
        "args": {
            "build_system": "Packages/C++/C++.sublime-build",
            "variant": "Run"
        }
    },

    {
        "keys": ["super+b"], 
        "command": "build",
        "context": [
            { "key": "selector", "operator": "equal", "operand": "source.java" }
        ], 
        "args": {
            "build_system": "Packages/Java/Java.sublime-build",
            "variant": "Build"
        }
    },

    {
        "keys": ["super+shift+b"], 
        "command": "build",
        "context": [
            { "key": "selector", "operator": "equal", "operand": "source.java" }
        ],
        "args": {
            "build_system": "Packages/Java/Java.sublime-build",
            "variant": "Run"
        }
    }

在Key Bindings中添加它 - 用户为我恢复了旧的行为。希望这会有所帮助。

编辑:使用' context'我们可以为多种语言提供相同的快捷键,&键绑定中的任何未定义的build_systems都将具有键的默认行为。

答案 2 :(得分:0)

如果你想在sublime text 3中编译和运行你的程序 使用不同的键 - 不同的键(如“f5”表示编译,“f6”表示运行 命令提示符然后按照我的步骤。

1-在崇高文本3中只需点击首选项>关键绑定。
2-这里打开一个新窗口,在两个设置1set默认键绑定在左边。    2set是用户定义的面板空面板
3-现在粘贴以下代码。

[
{ "keys": ["f5"], "command": "build", "args": {"variant": ""} },
{ "keys": ["f6"], "command": "build", "args": {"variant": "Run"} },
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select":false} }

]

现在您可以使用“f5”和“f6”进行编译以进行运行。 您可以通过更换按键来更改密钥。