python - 带有选项的 Sublime Text 构建系统

标签 python json shell sublimetext

我有一个项目的各种 shell 构建脚本,我想创建一个集中式构建系统,其中包含允许运行哪个 shell 脚本的选项。例如,用户按下 Cmd + B,然后用户将获得以下选项:

1) shellscript1.sh
2) shellscript2.sh
3) shellscript3.sh

用户按下 3,Sublime Text 运行“sh shellscript3.sh”。

我一直在阅读 http://sublimetext.info/docs/en/reference/build_systems.html ,但不确定如何将此选项集成到 Sublime Text 构建系统的 JSON 代码中。

如何在 Sublime Text 2 的构建系统中完成此任务?

谢谢!

最佳答案

实际上,您不需要自己的插件。您只需要 build variants 。这是使用您的示例命令的简单示例:

{
  "name Script 1",
  "cmd": ["shellscript1.sh", "$file"],
  "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
  "working_dir": "${project_path:${folder:${file_path}}}",

  "variants":
  [
    {
      "name": "Script 2",
      "cmd": ["shellscript2.sh", "$file"]
    },
    {
      "name": "Script 3",
      "cmd": ["shellscript3.sh", "$file"]
    }
  ]
}

将其作为 MyScript.sublime-build 保存在您的 User 首选项文件夹中。然后您就可以从构建菜单中选择它,关闭自动目标。

现在,当您按下 Command+B(在 Mac 上,Control+B 在 Windows 和 Linux 上),默认目标在您的文件上执行脚本 1,但您也可以选择其中一个变体。

参见 this answer ,还有一个构建文件,我个人使用它为不同的 Make 目标提供变体。

关于python - 带有选项的 Sublime Text 构建系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8070312/

相关文章:

python - 将一个数组的每个元素乘以另一个数组的每个元素

javascript - 过滤子节点同名的项

c# - 将空数组序列化和反序列化为字典/对象

linux - -bash :/usr/bin/virtualenvwrapper. sh: 没有那个文件或目录

linux - 从变量中搜索 awk 中的模式

c - 下一个 shell 提示符后显示 Unix 命令输出

python - Pandas :按行计算值

python - 根据 pandas 时间序列图中的某些因素更改标记

python - Visual Studio Code - 如何在 Docker 容器中远程调试 python 代码

javascript - 如何从包含四个属性的 JSON 对象创建包含两个属性的 JSON 对象