在Mac OS上的Sublime和q文件自动构建设置

时间:2017-11-11 23:10:29

标签: build sublimetext3 kdb q-lang

我正在使用Sublime并运行Sublime的一些q / kdb脚本。 我有一个" q Build"当我手动更改构建时,设置并正常工作。 但我倾向于经常在q和其他语言之间切换,每次我需要手动更改构建类型。

如何设置所有 *。q 文件自动使用q版本设置我只有通常执行命令+ B < /强>

{
"cmd": ["[full q path]", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.q",

}

2 个答案:

答案 0 :(得分:2)

当您将Build System设置为Automatic(例如菜单中的Tools > Build System > Automatic)时,只要构建文件设置正确,Sublime就应该为当前聚焦的文件选择正确的构建系统。

基于您在上面概述的构建系统,只要您安装了一些软件包,即为此软件包提供自定义语法(例如q KBD软件包),并将范围source.q指定为在这种情况下,这应该可以正常工作。

要验证,当q文件具有输入焦点时,从菜单中选择Tools > Developer > Show Scope Name(或按相关键)并确保范围以source.q开头(上面的包就是这样)。你看到的范围可能比这长,这取决于你在文件中的位置,但只要它从这开始,你应该没问题。

如果这不是您看到的范围,那么您自动选择的构建原因是因为您使用的软件包使用不同的范围,或者您没有安装q软件包(例如,如果您看到的范围是text.plain,则会出现这种情况。)

在这种情况下,解决方案是根据您正在使用的软件包更新范围或安装上述软件包(如果您没有安装与此相关的任何内容)。

除了安装提供语法的支持包之外,您还可以将构建修改为如下,这应该告诉它使用所有*.q文件的构建,而不管它们的范围如何。可以说包安装方法是优越的,因为它也可以为您的文件提供语法高亮。

{
    "cmd": ["[full q path]", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "file_patterns": ["*.q"]
}

答案 1 :(得分:0)

我认为您需要添加一个语言语法定义文件,以便为自动启用构建系统创建一个新的“范围”。

您可以在此处查看答案,例如:https://stackoverflow.com/a/14263821/8694303