Sublimetext3 使用升华中的cmd键绑定build_

Sublimetext3 使用升华中的cmd键绑定build_,sublimetext3,Sublimetext3,我想调用存储在Sublime外部插件中的特定构建命令。这个.sublime.build看起来像这样 { "selector": "text.html.markdown.knitr", "working_dir": "${project_path:${folder}}", "env": { "LANG": "en_US.UTF-8" }, "cmd": [ "Rscript -e \"library(knitr); knit('$file', output='$file_path/

我想调用存储在Sublime外部插件中的特定构建命令。这个.sublime.build看起来像这样

{
  "selector": "text.html.markdown.knitr",
  "working_dir": "${project_path:${folder}}",
  "env": { "LANG": "en_US.UTF-8" },
  "cmd": [ "Rscript -e \"library(knitr); knit('$file', output='$file_path/$file$
  "shell": true,

  "variants":
  [
    {
      "name": "Run",
      "working_dir": "$file_path",
      "shell_cmd": "Rscript -e \"rmarkdown::render(input = '$file')\""
    }
  ]
}
它使用cmd来简单地调用外部命令。我想创建一个keybinding,自动选择.sublime.build的“Run”变体。我尝试了以下代码:

{ "keys": ["ctrl+shift+b"], "command": "build", "args": {"build_system": "/Packages/knitr/knitr-Markdown.sublime-build", "variant": "Run" }},
不幸的是,shell返回

shell_cmd or cmd is required
[cmd: None]
[dir: /Users/serg/Desktop]
[path: /Library/Frameworks/Python.framework/Versions/2.7/bin:/Users/serg/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/MacGPG2/bin:/opt/X11/bin]
[Finished]

感谢您的帮助首先,您当前的构建文件无效,JSON本身无效。我不确定这是否是复制粘贴错误。如果不是,请使用修复语法

接下来,您需要提供正确语法的命令
cmd
希望命令作为数组。由于您的
cmd
不完整,我将提供一个不同的示例

语法错误

"cmd": ["compiler --arg source.c"]
"cmd": ["compiler, "--arg", "source.c"]
语法正确

"cmd": ["compiler --arg source.c"]
"cmd": ["compiler, "--arg", "source.c"]
以下是R-IDE软件包中的参考:

{
    "selector": "text.html.markdown.rmarkdown",
    "working_dir": "$file_path",
    "cmd": [
        "Rscript", "-e",
        "rmarkdown::render('$file_name', encoding = 'UTF-8')"
    ],
    "osx":{
        "path": "/Library/TeX/texbin:/usr/local/bin:$PATH"
    }
}

首先,您当前的构建文件无效,JSON本身无效。我不确定这是否是复制粘贴错误。如果不是,请使用修复语法

接下来,您需要提供正确语法的命令
cmd
希望命令作为数组。由于您的
cmd
不完整,我将提供一个不同的示例

语法错误

"cmd": ["compiler --arg source.c"]
"cmd": ["compiler, "--arg", "source.c"]
语法正确

"cmd": ["compiler --arg source.c"]
"cmd": ["compiler, "--arg", "source.c"]
以下是R-IDE软件包中的参考:

{
    "selector": "text.html.markdown.rmarkdown",
    "working_dir": "$file_path",
    "cmd": [
        "Rscript", "-e",
        "rmarkdown::render('$file_name', encoding = 'UTF-8')"
    ],
    "osx":{
        "path": "/Library/TeX/texbin:/usr/local/bin:$PATH"
    }
}

非常感谢你的完整答案。这帮了大忙!非常感谢你的完整答案。这帮了大忙!