Sublime Key“Build with”Binding

时间:2018-04-29 21:58:07

标签: sublimetext3 key-bindings

我刚刚开始编码,我正在学习C#。我正在使用Sublime Text 3,因为它是我最喜欢的代码编辑器。但是在编译C#文件时遇到问题。当我编译时,我总是要单击“Build With”,然后选择“CSharp”,然后再次单击“Build With”并选择“CSharp -Run”以查看我的代码中的更改。所以我想知道的是如何为“CSharp”和“CSharp -Run”设置Key Bind?提前感谢有人回答我的问题。

这是我的默认密钥映射:

<span class="{{test}}">test</span>

这是我的默认密钥图 - 用户名:

{ "keys": ["f7"], "command": "build" },
{ "keys": ["ctrl+b"], "command": "build" },
{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": true} },
{ "keys": ["ctrl+break"], "command": "cancel_build" }

这也是我的C#build-system:

[
    { "keys": ["ctrl+r"], "command": "build", "args": {"select": true} },
]

Photo of my Sublime Text 3 with my said problem above
Photo of my Key Bind for "Build With"

1 个答案:

答案 0 :(得分:3)

您问题的答案的简短版本是您没有为build命令提供正确的参数,因此您所做的是复制另一个键上的现有键绑定;您希望传递variant参数,直接告诉Sublime使用您要执行的变体运行构建。

较长的版本是build命令带有两个参数selectvariant

select参数告诉Sublime在运行构建之前,如果当前文件有多个适用的构建(例如,有多个构建系统或有适用的变体),它应该先问问你的构建。这与 Ctrl + Shift + B 键盘快捷键或Tools > Build With...菜单项相同。

你想要的是variant参数;告诉Sublime它应该使用最后使用的构建系统来执行构建,但它应该明确使用你提供的variant

对于构建系统的情况,您的键绑定将如下所示:

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

variant参数的值必须与构建系统的name部分中的variants键完全匹配(即案例很重要)。如果你弄错了,那么就不会发生任何事情,你会看到状态行中出现一条消息,如No Build System with variant whatever

请注意,如果您希望在工作时使用该功能,则此键绑定会阻止Goto Symbol的默认键绑定。该命令仍可在View > Goto Symbol的菜单中使用。