具有不同扩展名的 XML 的 Sublime 构建

Sublime build for XML with different extension

我有一个项目使用类型为 .uvprojx 的 XML 文件。

我发现并稍微修改了一个 sublime 构建,它工作正常,但我无法让构建系统自动检测到这是它需要使用的构建。我需要手动转到工具->构建系统->我的构建。

这是我的 .sublime-build 文件:

{
    "cmd": ["python", "C:/Users/cag/Documents/Tasks/PythonMisc/UvisionWrapper.py", "UV4", "-b", "-j0", "${file}", "-o", "out.txt"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.uvprojx",
    "variants":
    [
        {
        "name": "Flash",
        "shell":true,
            "cmd": ["python", "C:/Users/cag/Documents/Tasks/PythonMisc/UvisionWrapper.py", "UV4", "-f", "-j0", "${file}", "-o", "out.txt"]          
        },
        {
        "name": "Clean",
        "shell":true,
            "cmd": ["python", "C:/Users/cag/Documents/Tasks/PythonMisc/UvisionWrapper.py", "UV4", "-c", "-j0", "${file}", "-o", "out.txt"]          
        },
    ]
}

我有 python 包装器,因为构建的 .exe 文件创建了一个新进程,所以我需要将输出保存到文件并在 Python 中读取它,但无论如何效果很好。

我想要的是,当我打开一个扩展名为 .uvprojx 的文件时,这个版本是默认的。如果重要,Sublime 会将此文件检测为 XML(它是)。

将您的 selector 更改为 text.xml 并根据 http://www.sublimetext.com/docs/3/build_systems.html#options 处的文档添加 "file_patterns": ["*.uvprojx"],,然后 ST 将正确地自动 select 构建系统给你。