0

短片

这涉及 SciTE 和 Windows 中的 go 语言(特别是 Windows 7)。这是我第一次使用 SciTE,所以如果有其他方法可以实现我的目标,那也很好。

目标:一键编译、链接和执行新创建的二进制文件。

我想在 SciTE 的“go”命令下设置编译/链接/执行。这可能有点令人困惑,因为它也适用于go 语言。这是我到目前为止所拥有的:

command.compile.*.go=8g $(FileNameExt)
command.build.*.go=8l -o $(FileName).exe $(FileName).8
command.go.*.go=$(FileName).exe

我想要的是有类似的东西:

command.go.*.go=\
8g $(FileNamExt)\
8l -o $(FileName).exe $(FileName).8\
$(FileName).exe

如果这按我的预期工作,它将编译文件,链接它,然后运行可执行文件。会发生什么:

8g hello.go8l -o hello.exe hello.8hello.exe

什么时候应该:

8g hello.go
8l -o hello.exe hello.8
hello.exe

每行执行的位置。

4

2 回答 2

2

像这样编写一个批处理脚本:

@echo off
if (%1 == "") (goto end)

set gofile=%1%
shift

8g %gofile%.go
8l -o %gofile%.exe %gofile%.8
%gofile%.exe

:end

批处理文件可以在任何地方,但假设它在 'C:\one\two\three\GO.bat' 中,没有引号。在 SciTE 属性文件中更改:

command.go.*.go=$(FileName).exe

command.go.*.go=C:\one\two\three\GO.bat $(FileName)

当您按下 F5 或单击“Go”时,它将编译、链接和执行文件。

于 2010-12-22T03:09:36.267 回答
0

您有没有空格的行继续转义,这就是它看起来像这样的原因。

我不知道 Windows,但在 unix shell 中,您可以用分号分隔多个命令(或者&&正如 peterSO 所提到的,这里更合适)。

您仍然可以换行,但要意识到它不会考虑换行在语法上的重要性,因此请酌情添加分隔符。

于 2010-12-22T01:07:58.520 回答