2013-10-06 71 views
1

我似乎无法做出瓦拉建立系统崇高文本2 ...这是我到目前为止有:创建瓦拉崇高的文本生成系统

{ 
"cmd": ["valac", "--pkg", "gtk+-3.0", "'$file'"] 
} 

不幸的是,这只是编译代码valac,但不运行它。

我该如何让它直接运行编译后的程序?

+0

你有没有找到任何解决方案呢? – HSRF

回答

1

使用vala而不是valac。但是,请记住,这不会保留生成的可执行文件。要做到这一点,你需要把多个命令在一起,我不知道该怎么做,与崇高的文本,但在命令行中,你可以做类似

valac -o foo --pkg gtk+-3.0 file.vala && ./foo 
1

这崇高的文本3对我的作品(通过引进 “shell_cmd”):

{ 
    "shell_cmd": "valac --pkg gtk+-3.0 $file -o app.vala && ./app.vala" 
} 

app.vala将编译生成文件的文件名。

+0

我不知道崇高,但也许另一种可能性是编写一个小shell脚本并用'“cmd”'运行它? –

0

最简单的构建系统从崇高文字2运行瓦拉代码如下:

{ "cmd": ["vala", "--pkg=gtk+-3.0", "$file"] } 

这是创建瓦拉Windows上的构建系统我第一次尝试,我不是很满意结果。在编译过程中弹出几个令人讨厌的窗口,之后,主窗口仍然可见。为了解决这个问题,我跑VALA以最小化窗口:

{ "cmd": ["cmd", "/c start /min vala --pkg=gtk+-3.0 $file"] } 

它的工作,但现在,编译器的输出是不崇高文本可见。

因为我只是在玩Vala,而且我的程序是Hello World的复杂性,所以我可以通过简单编译两次来解决这两个问题。首先用C代码获取构建结果,然后从最小化的窗口运行代码。

{ "cmd": ["cmd", "/c valac --ccode --pkg=gtk+-3.0 $file && start /min vala --pkg=gtk+-3.0 $file"] } 

只编译为C有它的缺点,C编译器错误不会显示在编译结果中,但我可以忍受。

这里是我结束了:

{ 
    "cmd": ["cmd", "/c valac --ccode --pkg=gtk+-3.0 $file && start /min /wait valac -X -mwindows --pkg=gtk+-3.0 $file -o $file_base_name && $file_base_name"], 
    "file_regex": "^(?<filename>(?:[A-Z]:)?[^:]+):(?<line>[0-9]+).(?<column>[0-9]+)[^:]+: (?<message>.+)", 
    "selector": "source.vala" 
} 

我以前华劣克而不是VALA这里保存编译后的程序和编译后运行(通过罗马Fischer和nemequ描述的伎俩,但用$file_base_name变量而不是静态文件名)。

另外我还增加了两个字段:构建结果导航的file_regex和构建系统自动选择的selector