配置Build System以根据文件扩展名自动选择

Cri*_*scu 6 sublimetext sublimetext3

我创建了一个新的Build System来运行GolfScript程序.定义如下:

{
    "cmd": ["ruby", "D:\\w\\sublime\\golfscript.rb", "$file"]
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但每当我需要使用它然后将其切换回能够运行Ruby,Python等时,我必须手动将Build System从"Automatic"切换到"golfscript".

当我*.gs打开文件时,我想让我的Build System自动应用.

我已经阅读了一些 文档并且认为我可以使用选择器来实现这一点,所以我在现有配置中添加了一个选择器:

{
    "cmd": ["ruby", "D:\\w\\sublime\\golfscript.rb", "$file"],
    "selector": "source.gs"
}
Run Code Online (Sandbox Code Playgroud)

在阅读了更多的文档/示例之后,我无法弄清楚如何告诉sublime选择器实际上是什么.

如何配置source.gs选择器以指向*.gs文件?

sku*_*oda 3

您需要为 GolfScript 创建一个语法文件。

将以下 XML 保存为golfScript.tmLanguage并将其放入此处Packages/Golfscript所述的文件夹中。

您可能需要重新启动 ST。

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
    <key>fileTypes</key>
    <array>
        <string>gs</string>
    </array>
    <key>name</key>
    <string>GolfScript</string>
    <key>patterns</key>
    <array>
    </array>
    <key>scopeName</key>
    <string>source.gs</string>
    <key>uuid</key>
    <string>c4c7fc10-d937-4f5d-9cb7-4316026457e5</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)