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

Sublime and q files Automatic Build Setup, on Mac OS

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

如何使用我已有的 q 构建设置将所有 *.q 文件设置为 运行 自动 仅通过执行通常的 Command + B?

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

}

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

您可以在此处查看示例的答案:

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

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

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

如果这不是您看到的范围,那么您概述的构建不会自动 selected 的原因是因为您正在使用的包使用不同的范围,或者您没有没有安装 q 包(例如,如果您看到的范围是 text.plain,就是这种情况)。

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

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

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