先手动将.ts文件语法设为typescript,再点右下角“set as default for .ts files”,sublime会自动生成用户级extensions映射;大小写敏感,必须小写ts,不可写ts或ts。

Sublime Text 不会自动按扩展名匹配语法,除非你明确告诉它哪些后缀该用哪种语法——所有“自动识别”都依赖用户配置里的 extensions 映射,而不是文件自带声明或插件猜测。
如何让 .ts 文件一打开就高亮为 TypeScript?
点右下角当前语法(比如 Plain Text)→ 选 TypeScript → 点弹出的 Set as Default for .ts Files。这会在 Preferences.sublime-settings 用户配置里加一行:"extensions": ["ts"]。
常见错误:
- 直接改
Packages/TypeScript/syntaxes/TypeScript.sublime-syntax里的file_extensions字段——无效,Sublime 根本不读这个 - 把
extensions写成["TS", "Ts"]——大小写敏感,必须小写ts - 已有
extensions字段却覆盖重写,导致其他映射丢失;应追加,如:"extensions": ["ts", "tsx", "vue"]
为什么 .cfg 文件没用 Ini 语法高亮?
Sublime 默认不认 .cfg,得手动绑定。最稳妥方式是:打开一个 .cfg 文件 → 右下角点语法名 → Open all with current extension as… → 选 Ini。
这会在 Packages/User/Ini.sublime-settings 中生成配置,内容就是:{"extensions":["cfg"]}。
注意:
- 这个文件名必须和语法名完全一致:
Ini.sublime-settings,不是INI或ini - 如果已装 ApplySyntax 插件,它可能劫持扩展名匹配逻辑,建议临时禁用再测试
- 改完不用重启,但已打开的
.cfg文件需重新加载(Ctrl+R或关闭再开)
新建空白文件默认用 Python 语法,怎么设?
只对未保存的 Untitled 文件生效。打开 Preferences → Settings – User,添加字段:"default_syntax": "Packages/Python/Python.sublime-syntax"。
关键细节:
- 路径必须完整、大小写精确;
Packages/Python/python.sublime-syntax会失败 - Sublime 4 用
.sublime-syntax,ST3 用.tmLanguage;混用会导致语法不加载 - 保存后的文件(如
test.py)走的是extensions匹配逻辑,不受此设置影响 - 查路径别猜:打开一个正确高亮的
.py文件 →Tools → Developer → Show Scope Name→ 看到source.python就对应Packages/Python/Python.sublime-syntax
多个项目需要不同语法映射,能分项目设置吗?
可以,但不是靠全局 extensions。要进项目根目录建 .sublime-project 文件,在 settings 下加 extensions 映射,例如:
{
"folders": [{"path": "."}],
"settings": {
"extensions": ["html"]
}
}
但注意:
- 项目级
extensions仅在该项目打开时生效,且优先级高于用户级设置 - 它只影响新打开的同扩展名文件,不会刷新已打开的标签页
- 如果同时启用了 ApplySyntax 或 AutoSetSyntax,它们可能绕过项目设置——这类插件通常不尊重项目级 scope
真正难处理的其实是混合后缀场景,比如 .vue 在一个项目里要当 HTML 用,另一个项目里要当 TypeScript 用——这时候得靠插件或自定义构建系统,纯配置做不到动态切换。











