我正在使用Sublime并运行Sublime的一些q / kdb脚本。 我有一个" q Build"当我手动更改构建时,设置并正常工作。 但我倾向于经常在q和其他语言之间切换,每次我需要手动更改构建类型。
如何设置所有 *。q 文件自动使用q版本设置我只有通常执行命令+ B < /强>
{
"cmd": ["[full q path]", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.q",
}
答案 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