我正在使用mit-scheme并使用Sublime Text 3编辑源文件。在构建系统中,我将配置设置为
{
"cmd": ["mit-scheme", "--load", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.scheme"
}
但是--load
选项不会评估代码,也就是说,它只是在不提供输出的情况下加载代码。我应该如何设置配置选项,以便当我点击ctrl+B
时,它会提供与在命令行中运行mit-scheme < filename.scm
时相同的输出?
谢谢!
答案 0 :(得分:0)
如果在构建系统中使用shell_cmd
而不是cmd
,则命令将直接由shell执行,就像您已将其输入终端一样。在Linux上,使用的shell是/bin/sh
,而在Windows上,shell取自COMSPEC变量的值(请参阅Python Popen帮助,这是exec
命令使用的帮助。执行程序)。
要使用shell_cmd
,请指定字符串而不是字符串数组,并将字符串直接传递给要执行的shell。因此,您需要注意引用可能包含空格的任何参数。
例如,您的构建系统可能如下所示:
{
"shell_cmd": "mit-scheme < \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.scheme"
}
请注意,此处$file
包含在引号中,因此如果文件中包含空格,则该命令仍然有效。此外,由于构建系统是JSON,因此引号需要引用(即显示为\"
而不仅仅是"
)。