为不同目录中的构建和源创建Sublime Text构建系统

时间:2012-12-17 06:59:14

标签: build sublimetext2

我有一个项目,其中构建和源目录不同。我想在build目录中编辑时,在source目录中创建一个build system

假设我有这样的目录结构:

  • / home / dbw / src 源文件。
  • / home / dbw / bld 构建文件。

(令人震惊和独特的命名系统,我知道 - 让我们掌握掌声直到最后,不是吗?)

构建嵌套了很多层,目录结构是对称的。从source中的目录,我希望Sublime在相关的build目录中启动构建。例如,如果我正在编辑/ home / dbw / src / foo / Makefile,我想在/ home / dbw / bld / foo中执行make。我试过这个:

{
  "cmd": ["make"],
  "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
  "working_dir": "/home/dbw/bld/${file_path/$project_path//}",
  "selector": "source.makefile",

  "variants":
  [
    {
      "name": "Clean",
      "cmd": ["make", "clean"]
    },
    {
      "name": "Test",
      "cmd": ["make", "test"]
    }
  ]
}

我的.sublime项目位于/ home / dbw / src

我也尝试过使用"working_dir": "/home/dbw/bld/${file_path/\/home\/dbw\/src//}"

在我看来,问题是我没有正确地在替换表达式中转义斜杠。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我这样做了,它确实有效。

"working_dir": "/home/dbw/bld${file_path/.home.dbw.src//}"

但是,对我来说,它似乎仍然有些不雅。