Build 升华和q文件自动生成设置,在Mac OS上

Build 升华和q文件自动生成设置,在Mac OS上,build,sublimetext3,kdb,q-lang,Build,Sublimetext3,Kdb,Q Lang,我正在与Sublime合作,还运行一些来自Sublime的q/kdb脚本。 我有一个“q构建”设置,当我手动更改构建时,可以正常工作。 但是我经常在q和其他语言之间切换,每次我需要手动改变构建类型时 如何设置所有*.q文件,使其自动运行,而我只需执行常规的命令+B,就可以使用我已有的q构建设置了 { "cmd": ["[full q path]", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector"

我正在与Sublime合作,还运行一些来自Sublime的q/kdb脚本。 我有一个“q构建”设置,当我手动更改构建时,可以正常工作。 但是我经常在q和其他语言之间切换,每次我需要手动改变构建类型时

如何设置所有*.q文件,使其自动运行,而我只需执行常规的命令+B,就可以使用我已有的q构建设置了

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

}

我相信您需要添加一个语言语法定义文件,以便创建一个新的“作用域”来自动启用构建系统


例如,您可以在此处看到答案:

当您将生成系统设置为自动时(例如,从菜单中选择
工具>生成系统>自动
),只要生成文件设置正确,Sublime应为当前关注的文件选择正确的生成系统

基于上面概述的构建系统,只要您安装了为该包(例如,包)提供自定义语法的包,该语法将作用域
source.q
指定为基本作用域,在这种情况下就可以正常工作

要验证,当
q
文件具有输入焦点时,请从菜单中选择
Tools>Developer>Show Scope Name
(或按相关键),并确保作用域以
source.q
开头(上面的包执行此操作)。根据您在文件中的位置,您看到的范围可能比这个长,但只要它以这个开头,您就可以了

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

这种情况下的解决方案是根据您正在使用的软件包更新作用域,或者安装上述软件包(如果您尚未安装任何与此相关的软件包)

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

{
“cmd”:[“[完整q路径],“$file”],
“文件正则表达式”:“^[]*文件\”(…*?)\”,第([0-9]*)行,
“文件模式”:[“*.q”]
}

您可以在您的帖子中添加当前构建文件的外观吗?谢谢,安装q KDB软件包后,它确实工作得很好。