Sublime Text需手动将.js后缀绑定至JavaScript语法:View→Syntax→Open all with current extension as…→JavaScript;若无该选项,先通过Package Control安装官方JavaScript包。

如何让 Sublime Text 自动为 .js 文件用 JavaScript 语法高亮
Sublime 默认不会根据文件后缀自动匹配语法,得手动告诉它「.js 就是 JavaScript」。否则打开 .js 文件,右下角显示 Plain Text,代码没颜色、没补全、没 lint 提示。
操作路径:菜单栏 View → Syntax → Open all with current extension as… → JavaScript。这一步会把当前文件的后缀(比如 .js)永久绑定到 JavaScript 语法。
- 如果没看到 JavaScript,说明你没装官方 JavaScript 包,或被其他插件覆盖了——先去
Package Control: Install Package装JavaScript(不是JavaScript Next,后者不兼容老项目) - 绑定后,所有已打开的 .js 文件不会自动刷新语法,要关掉重开,或手动点右下角选 JavaScript
- 这个设置写在
Preferences.sublime-settings里不生效,必须走菜单触发,底层写入的是~/.config/sublime-text-3/Packages/User/JavaScript.sublime-settings这类路径
想让 .vue 文件默认用 Vue Component 语法?先确认插件是否真支持
很多人装了 Vue Syntax Highlight 或 VueJS Complete,但发现 .vue 文件还是显示 HTML。问题不在设置,而在插件本身没注册后缀映射。
检查方法:打开一个 .vue 文件 → 右键 → Settings – Syntax Specific → 看里面有没有 "syntax": "Packages/Vue Syntax Highlight/Vue Component.tmLanguage" 这类字段。没有就说明插件没生效。
- 优先用
Vue Syntax Highlight,它自带后缀绑定;VueJS Complete主打补全,语法高亮靠额外配置 - 如果插件没自动绑定,可以手动加:在
Preferences → Settings – Syntax Specific里粘贴{"extensions": ["vue"]},保存后重启 Sublime - 注意大小写:
.Vue和.vue是两个后缀,Windows 下可能忽略大小写,macOS/Linux 下必须严格匹配
为什么改了 Settings – Syntax Specific 没反应?可能是 scope 冲突
Sublime 的语法识别优先级是:文件名 > 文件内容(shebang 或注释)> 后缀映射 > 默认语法。如果你在 Settings – Syntax Specific 里写了 {"syntax": "Packages/Python/Python.tmLanguage"},但文件开头有 #!/bin/bash,那它还是会切到 ShellScript。
查当前实际生效的语法:按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS)→ 输入 Support Info → 回车,看输出里的 scope 字段,比如 source.python 才是真的在用 Python 语法。
- 临时强制切换:右下角点击语法名 → 选目标语言,这只是单次生效
- 真正持久化,必须确保
Settings – Syntax Specific文件存在且路径正确,常见位置是Packages/User/YourFileName.sublime-settings - 别在全局
Preferences.sublime-settings里写syntax,它只认color_scheme和少数几个顶层字段
批量关联多个后缀(如 .ts、.tsx)到 TypeScript 语法
不能靠点几次菜单搞定,得直接改插件的 .sublime-syntax 或 .tmLanguage 文件,但更安全的做法是用 User 设置覆盖。
新建一个文件,路径为 Packages/User/TypeScript.sublime-settings,内容写成:
{
"extensions": ["ts", "tsx", "d.ts"]
}
保存后,所有新打开的 .ts 文件都会自动用 TypeScript 语法——前提是系统里已安装 TypeScript 插件(推荐 TypeScript 官方包,不是 TSFormatter)。
- 扩展名不要带点,写
"ts",不是".ts";顺序无关,但空格和逗号要规范,否则整个文件失效 - 如果用了
EditorConfig插件,它可能覆盖语法设置,遇到冲突先禁用测试 - Sublime 4 对 .tsx 支持比 3 好很多,3 版本下 .tsx 常被识别成 TypeScriptReact,得手动指定
"syntax": "Packages/TypeScript/TypeScriptReact.tmLanguage"








