必须安装vue syntax highlight插件、手动绑定.vue后缀为vue component语法、配置vue_version为3并启用ts/scss等子语言支持,三步缺一不可;装错插件名或未绑定后缀会导致白底黑字。

Sublime Text 默认完全不识别 .vue 文件,打开就是白底黑字——这不是你漏配了什么,是它压根没语法定义,也不自动绑定后缀或嵌入子语言。要真正高亮 <template></template>、<script setup lang="ts"></script>、<style scoped lang="scss"></style> 三块,并让 v-if、ref()、.scss 都有颜色,必须装对插件、手动绑定、开对嵌入开关,三者缺一不可。
装 Vue Syntax Highlight,别被名字骗了
唯一当前持续维护、兼容 Sublime Text 4、能正确解析 defineProps 和 lang="ts" 的插件,只有 Vue Syntax Highlight(注意:首字母大写、中间空格、末尾带 s 和大写 H)。装错会直接报错:ImportError: No module named 'sublime_plugin'。
- 旧插件如
vue-component(已停更)、VueJS(ST2 专用)或少个s的Vue Syntax Highlight都不兼容 ST4 - 装完检查
Preferences → Browse Packages…下是否存在Vue Syntax Highlight/文件夹(不是vuejs/或vim-vue/) - 如果已装了
VueJS,进Preferences → Package Settings把它禁用,否则语法冲突导致高亮降级
手动绑定 .vue 后缀,否则永远 Plain Text
插件只提供语法定义,不会自动注册文件关联。跳过这步,所有 .vue 文件右下角永远显示 Plain Text,重装十遍也没用。
递归分析 Vue 项目组件依赖,从入口文件生成组件层级图,支持 Vue 2/3,输出组件名、文件路径和属性。适用于分析组件结构、排查依赖或了解项目架构。
- 打开任意一个
.vue文件,点击右下角当前语法名(如Plain Text) - 选择
Open all with current extension as…→ 找到并点击Vue Component(注意不是Vue或HTML) - 若菜单里没出现
Vue Component,说明插件未加载成功,按Ctrl+`查控制台是否有报错;常见原因是 Package Control 版本太旧,先升级再重试
<script setup lang="ts"></script> 还是灰色?检查嵌入链是否完整
<script></script> 块内没 JS/TS 高亮,不是 Vue 插件坏了,而是嵌入语法没接上。Vue Syntax Highlight 只负责把 <script></script> 当成一个容器,里面写的是 JS 还是 TS,得靠对应语言插件来渲染。
- 确认已安装
JavaScriptNext - ES6 Syntax(推荐)或官方TypeScript插件;装完打开一个.ts文件,右下角应显示TypeScript - 进
Preferences → Package Settings → Vue Syntax Highlight → Settings,User 配置中确保含:"enable_ts_in_script": true(若用 TS)或"enable_js_in_script": true(若用 JS) -
<style lang="scss"></style>不高亮?单独装SCSS插件(作者 css415),装完开一个.scss文件验证右下角是否显示SCSS,再切回.vue - 临时验证法:把
.vue文件后缀临时改成.js,看<script></script>是否恢复高亮——能恢复说明是 Vue 层解析失败,不是 Sublime 整体崩了
代码补全和跳转?Vue Syntax Highlight 做不了
Vue Syntax Highlight 只负责“看得清”,不负责“提示对”“点得进”“排得齐”。你在 <script></script> 里输入 this. 不弹出 data 属性,不是配置问题,是 Sublime 原生不支持 Vue 语义分析。
- 基础补全可装
Vuejs Complete Package或Vue Completions,提供v-for、props、onMounted等指令和钩子的 Tab 补全 - 想获得类型推导或跳转,需搭配
SublimeLSP+volar,但配置复杂、稳定性不如 VS Code,多数人没必要折腾 - 格式化要用
JsPrettier,并在它的 User 设置里加:"custom_file_extensions": ["vue"]
最易忽略的点是:嵌入语法依赖子语言插件的精确加载顺序和名称匹配。比如 SCSS 插件必须叫 SCSS(不是 Sass 或 PostCSS),否则 lang="scss" 就会被当成纯文本丢弃——这种失效没有报错,只会静默退化。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










