ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

MultiTaskBuild

bizoo ST2

适用于Sublime Text 2的多任务(目标)构建

详细信息

  • 2013.03.11.07.38.07
  • github.com
  • github.com
  • 11年前
  • 8分钟前
  • 12年前

安装次数

  • 总数 617
  • Win 294
  • Mac 149
  • Linux 174
8月7日 8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

说明文件

源代码
raw.githubusercontent.com

SublimeText 2的多任务Builder

此插件添加了在单个sublime-build文件中定义多个任务(目标)的功能。

当您运行构建命令时,菜单会询问您想要执行哪个任务。

更新变体

Sublime Text 2 Build 2197在sublime-build文件中引入了一个名为"变体"的新选项。

有关更多信息,请参阅此链接

像此插件一样,您现在可以拥有不同的任务,这些任务在带前缀"Build: "的命令调色板中可用。

工作原理

此插件旨在作为标准exec命令(ST2中构建命令执行的命令)的替代方案。这意味着实际的sublime-build文件必须以完全相同的方式运行。

此插件定义了支持多目标构建的sublime-build文件的新格式。

了解新格式的最佳方法是通过查看示例:多任务Python构建器

简要介绍

  • cmd变为包含每个任务一个条目的字典。
  • 每个任务中可以声明的字段与标准字段(cmd、file_regex、working_dir等)完全相同。
  • 根中声明的字段是所有任务的默认值。任务内部声明的相同字段具有更高的优先级。
  • 有一个新可选字段default_task,用于定义默认任务。默认值是'build'。

示例:多任务Python构建器

这是ST2中包含的标准Python sublime-build

{
        "cmd": ["python", "-u", "$file"],
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python"
}

现在这是一个多任务Python sublime-build

{
    "cmd": {
            "build": {
                    "cmd": ["python", "-u", "$file"]
            },
            "verbose": {
                    "cmd": ["python", "-u", "-v", "$file"],
                    "quiet": true
            }
    },
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "default_task": "verbose",
    "target": "multi_task_exec"
}

如果您比较这些文件,结构完全相同,除了

  • 要使用此插件,您必须在目标字段中设置multi_task_exec
  • cmd字段变为包含每个任务一个条目的字典。可以在每个任务中声明的字段与标准字段(cmd、file_regex、working_dir等)完全相同。
  • 可选字段default_task定义默认任务。默认值是'build'。
  • file_regex 是所有任务的默认值。该值用于除重新声明 file_regex 的任务以外的每个任务。

已知问题

实际上只有一个问题可能导致问题。

扩展变量(如 '$file', '$file_path', ...)在 ST2 调用 exec 命令之前扩展。并且并非 sublime-build 文件中的所有字段都会进行扩展(我想只有 cmd 和 working_dir)。

因此,为了扩展任务的变量,我必须在 cmd 字段中放置任务。缺点是 所有 任务字段都会被扩展,所以如果你在 path 字段中放入 '$file' 字符串,文本会被当前文件的完整路径替换,这并不是标准构建文件的情况。

实际上,我认为这并不是真正的问题。