【问题标题】:Sublime Key "Build With" BindingSublime Key "Build With" 绑定
【发布时间】:2018-04-29 21:58:06
【问题描述】:

我昨天刚开始编码,目前正在学习 C#。我正在使用 Sublime Text 3,因为它是我最喜欢的代码编辑器。但是我在编译 C# 文件时遇到了问题。当我编译时,我总是必须点击“Build With”然后选择“CSharp”,然后再次点击“Build With”并选择“CSharp -Run”来查看我的代码中的变化。所以我想知道的是如何为“CSharp”和“CSharp -Run”设置键绑定?提前感谢您将回答我的问题。

这是我的默认键盘映射:

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

这是我的默认键盘映射用户:

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

这也是我的 C# 构建系统:

{
    "cmd": ["cmd", "/c", "del", "${file/\\.cs/\\.exe/}", "2>NUL", "&&", "csc", "/nologo", "/out:${file/\\.cs/\\.exe/}", "$file"],
    "file_regex": "^(...*?)[(]([0-9]*),([0-9]*)[)]",
    "variants": [
        { 
            "name": "Run", 
            "cmd": ["cmd", "/c", "start", "cmd", "/c", "${file/\\.cs/\\.exe/}"] 
        }
    ],
}

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

【问题讨论】:

  • 请将代码发布为代码,而不是图像,因为它便于回答者参考。
  • 如果您还提供了 sublime-build 文件的内容(作为文本,而不是图像),这将更容易为您提供帮助,但简而言之,您希望您的键绑定传递 @ 的参数987654327@ 和 run 之类的值,让它做你想做的事。
  • 对不起。这是我的默认键盘映射:{ "keys": ["f7"], "command": "build" }, { "keys": ["ctrl+b"], "command": "build" }, { "keys": ["ctrl+shift+b"], "command": "build", "args": {"select": true} }, { "keys": ["ctrl+break"], "command": "cancel_build" }, 然后我将 Ctrl+Shift+B 更改为 Ctrl+R。
  • @Xcoder 我已经更新了我的问题。请帮忙。
  • @OdatNurd 我已经更新了我的问题。请帮忙。

标签: sublimetext3 key-bindings


【解决方案1】:

您的问题的简短答案是您没有为 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 参数的值必须与构建系统的 variants 部分中的 name 键完全匹配(即大小写很重要)。如果你弄错了,不会发生任何事情,而不是构建任何东西,你会在状态行中看到一条消息,如No Build System with variant whatever

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

【讨论】:

    猜你喜欢
    • 2022-12-02
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    相关资源
    最近更新 更多