0

ビルドディレクトリとソースディレクトリが同じではないプロジェクトがあります。ディレクトリで編集しているときにディレクトリにビルドするビルドシステムを作成したいと思います。buildsource

私がこのディレクトリ構造を持っているとしましょう:

  • / home / dbw/srcソースファイル。
  • / home / dbw/bldビルドファイル。

(衝撃的でユニークなネーミングシステム、私は知っています-最後まで拍手を続けましょう、そうしませんか?)

ビルドは何層もの深さでネストされており、ディレクトリ構造は対称的です。のディレクトリから、sourceSublimeに関連するディレクトリでビルドを開始してもらいたいbuildです。たとえば、/ home / dbw / src / foo / Makefileを編集している場合、makeを/ home / dbw / bld/fooで実行したいと思います。私はこれを試しました:

{
  "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-projectは/home/ dbw/srcにあります

私も使ってみ"working_dir": "/home/dbw/bld/${file_path/\/home\/dbw\/src//}"ました。

問題は、置換式のスラッシュを正しくエスケープしていないことだと私には思えます。助言がありますか?

4

1 に答える 1

0

私はこれをしました、そしてそれは働きます。

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

しかし、それでも私には少しエレガントではないようです。

于 2012-12-17T08:19:56.140 に答える