能实现,但必须手动打通语法识别→ESLint调用→vue-plugin规则加载三段链路:需将.vue文件设为Vue Component语法、SublimeLinter-eslint显式添加--ext .vue参数、.eslintrc.js中extends包含plugin:vue/vue3-recommended且parserOptions配置正确解析器。

能实现,但必须手动打通三段链路:语法识别 → ESLint 调用 → vue-plugin 规则加载。缺任何一环,.vue 文件里写满 defineProps 和 useSlots 也压根不报错。
Vue Component 语法必须手动绑定,不是装插件就自动生效
装了 Vue Syntax Highlight 插件,右下角状态栏还是显示 Plain Text 或 HTML?说明 Sublime 根本没把 .vue 当 Vue 处理,后续所有 lint 都不会触发。
- 打开任意
.vue文件,点击右下角当前语法名(比如Plain Text)→ 选Open all with current extension as…→ 必须选Vue Component(不是Vue、不是HTML、也不是Vue Template) - 检查
Preferences → Package Settings → Vue Syntax Highlight → Settings,确认有"vue_version": "3";默认可能是"2",不改就识别不了<script setup></script>和v-model:value - 如果菜单里没有
Vue Component选项,进Ctrl+`控制台看报错——常见是旧版VueJS或vue-component插件冲突,需在Package Settings里禁用它们
SublimeLinter-eslint 必须显式支持 .vue 扩展名
SublimeLinter-eslint 默认只处理 .js,对 .vue 完全无视。即使你项目里装了 eslint-plugin-vue,不加 --ext 参数,它连 <script> 块都不会进。
使用 `@ainative/vue-sdk` 为 Vue 3 应用添加 AI 聊天功能。适用于以下场景:(1) 安装 `@ainative/vue-sdk`,(2) 在 Vue 组件中使用 `useChat` 组合式函数,(3) 提供……
- 进
Preferences → Package Settings → SublimeLinter → Settings,在"linters" → "eslint" → "args"里加上:["--ext", ".js,.jsx,.ts,.tsx,.vue"] -
"executable"必须指向真实路径:Windows 下填C:\myproject\node_modules\.bin\eslint,macOS/Linux 填/path/to/project/node_modules/.bin/eslint;别用全局eslint,容易因 PATH 不一致静默失败 - 确保项目根目录有
.eslintrc.js,且extends包含"plugin:vue/vue3-recommended"(Vue 3)或"plugin:vue/vue2-recommended"(Vue 2),否则eslint-plugin-vue的规则根本不会加载
自动修复只对部分规则生效,别指望它修 defineProps 类型错误
"args": ["--fix"] 确实能让保存时自动修正引号、分号、空格等格式问题,但 eslint-plugin-vue 的大部分校验逻辑(比如 vue/valid-define-props、vue/multi-word-component-names)无法被自动修复——它们只报错,不生成 fixer。
立即学习“前端免费学习笔记(深入)”;
- 想看到完整校验结果,得把
"lint_mode"设为"background"(实时)或"on_save"(保存时),不能用"manual" - 若发现
<template>里写错指令(如v-binde)没提示,检查.eslintrc.js中是否漏了"parserOptions": { "parser": "@babel/eslint-parser" }或对应 Vue 解析器配置 - 控制台(
Ctrl+`)里出现SublimeLinter: eslint: xxx.vue ERROR是正常现象;但如果只有WARNING或完全没日志,优先查executable路径和--ext参数
最易被忽略的点:Vue 单文件组件的 <style> 和 <template> 块依赖子语言高亮(如 lang="scss" 需 SCSS 插件),但 ESLint 只校验 <script>。如果你改了 <template> 却没反应,不是 ESLint 问题,是模板语法本身没被解析——先确认右下角显示的是 Vue Component,再查 ESLint 配置。

















