sublime 中 .vue 文件未识别为 vue 组件导致语法失效,需手动关联语法并配置嵌套高亮:设置 "vue_version": "3"、"enable_ts_in_script": true、"enable_vue_blocks": true,且必须安装正确插件 vue syntax highlight。

Vue Component 语法没绑定,.vue 文件被当纯文本处理
所有属性(v-if、ref()、defineProps())全灰,不是插件坏了,是 Sublime 根本没把文件识别为 Vue 组件。它默认不关联 .vue 后缀,装完插件也还是 Plain Text。
必须手动绑定:
- 打开任意一个
.vue文件 - 点击右下角当前语法名(比如显示
Plain Text) - 选
Open all with current extension as…→Vue Component(注意不是Vue、HTML或Vue Template)
这一步会在 Preferences → Settings – User 里自动加一行:"syntaxes": {"vue": "Packages/Vue Syntax Highlight/Vue.sublime-syntax"}。如果菜单里压根没出现 Vue Component,说明插件根本没加载成功,先按 Ctrl+` 看控制台有没有 ImportError: No module named 'sublime_plugin' —— 那是装了旧版插件(如 vuejs 或漏掉 s 的 Vue Syntax Highlight)导致的冲突。
嵌套语法开关没开,script/template/style 块不走子语言高亮
<template></template> 里属性同色、<script setup></script> 里 ref() 是白的,问题不在 Vue 插件本身,而在它没把代码块正确“转交”给 JS/TS/HTML 插件处理。
进 Preferences → Package Settings → Vue Syntax Highlight → Settings – User,确保含以下三项:
-
"vue_version": "3"(不是"2",否则组合式 API 解析断裂) -
"enable_ts_in_script": true(不是enable_js_in_script;用 TS 就必须开这个) -
"enable_vue_blocks": true(允许<template></template>、<style scoped lang="scss"></style>等嵌套语法生效)
顺带确认:你已装了对应子语言插件。比如用了 lang="ts",就得装 JavaScriptNext - ES6 Syntax 或官方 TypeScript 插件,并且打开一个 .ts 文件,右下角能显示 TypeScript。

