1. 为什么你的 VSCode 总感觉“差一口气”刚装好的 VSCode 打开一个 Vue 或 React 项目缩进是 4 个空格ES6 的箭头函数、解构赋值没有智能提示HTML 标签改一半另一半不会跟着变路径写错只能靠肉眼找。这些不是编辑器不行而是默认配置面向的是“通用文本编辑”不是“现代前端开发”。把 tabSize 改成 2、装上 ES6 语法支持插件、再配好路径补全体验会立刻不一样。这篇记录的是我日常开发环境的搭建过程从 settings.json 骨架到插件清单再到通过 TaoToken 统一 Key 接入 AI 编程插件的完整步骤。适合刚接触 VSCode 想一次性配好的人也适合已经用了一段时间但配置散落各处、想整理成可复用模板的人。所有配置都可以直接复制改完重启就生效。2. 先把 settings.json 骨架搭起来VSCode 的设置分两层用户级全局生效和工作区级只对当前项目生效。日常开发建议把通用配置放用户级项目特殊配置放工作区级。打开设置界面有两种方式菜单 File → Preferences → Settings或者左下角齿轮图标 → Settings。右上角有个“打开设置(json)”的图标点进去就能直接编辑 settings.json。下面是我用了很久的骨架覆盖缩进、ES6 相关、保存行为、文件排除等高频项{ editor.tabSize: 2, editor.insertSpaces: true, editor.detectIndentation: false, editor.formatOnSave: true, editor.codeActionsOnSave: { source.fixAll.eslint: explicit }, files.eol: \n, files.trimTrailingWhitespace: true, files.insertFinalNewline: true, javascript.updateImportsOnFileMove.enabled: always, typescript.updateImportsOnFileMove.enabled: always, emmet.includeLanguages: { javascript: javascriptreact, vue-html: html }, files.exclude: { **/.git: true, **/node_modules: true, **/dist: true } }几个关键点解释一下。editor.tabSize设成 2 是因为 Vue 和大部分前端规范默认 2 空格缩进4 空格在 ESLint 的indent规则下会直接报错。editor.detectIndentation关掉很重要否则 VSCode 会“自作聪明”根据文件内容覆盖你的设置。formatOnSave配合 ESLint 的source.fixAll.eslint能在保存时自动修掉大部分格式问题省去手动跑 lint 的步骤。如果你用的是 Prettier 而不是 ESLint 做格式化把editor.defaultFormatter设成esbenp.prettier-vscode并在项目根目录放一个.prettierrc控制缩进和引号风格。两者不要同时抢格式化权否则会出现保存后格式来回跳的情况。3. 插件安装与 ES6 语法支持插件安装入口在左侧活动栏的 Extensions 图标四个方块那个搜索名字点 Install 即可。安装过程需要联网装完后按钮会变成齿轮图标。下面这几个是我认为对 ES6/Vue/React 开发最实用的组合插件名作用是否必装ESLint语法纠错、代码规范检查必装JavaScript(ES6) code snippetsES6 语法智能提示与快速输入必装Path Intellisense自动路径补全必装Auto Rename Tag同步修改 HTML/XML 闭合标签推荐Auto Close Tag自动闭合标签推荐HTML CSS SupportHTML 标签上写 class 时提示项目样式推荐Vue - OfficialVue 3 语法高亮、智能感知、格式化Vue 项目必装JavaScript(ES6) code snippets这个插件值得单独说。它支持.js、.ts、.jsx、.tsx、.html、.vue多种文件类型输入imp回车就能展开import ... from ...输入fre展开forEach输入prom展开new Promise。省去配置各种包含 JS 代码文件的时间对写 ES6 的人来说是效率提升最明显的一个。Vetur 在新版 VSCode 里已经被 Vue - Official 取代如果你还在用 Vetur建议换掉否则 Vue 3 的script setup语法会报一堆误报。ESLint 插件装完后需要在项目里装eslint依赖并生成.eslintrc配置文件插件本身只是把 ESLint 的能力接进编辑器。4. 通过 TaoToken 接入 AI 编程插件基础配置和插件装好后下一步是把 AI 编程能力接进来。TaoToken 提供统一的 Key 和 API 通道兼容 OpenAI 风格的接口所以大部分支持自定义 Base URL 的 AI 编程插件都能直接对接。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。第一步去控制台创建 API Key。打开 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 在 API Keys 页面点创建复制生成的 Key。这个 Key 只显示一次建议存到密码管理器里。第二步在 VSCode 里安装一个支持自定义 API 的 AI 编程插件。以 Continue 为例安装后在侧边栏打开配置编辑config.json{ models: [ { title: TaoToken, provider: openai, model: claude-sonnet-4-20250514, apiBase: https://taotoken.net/api, apiKey: 你的_TaoToken_Key } ], tabAutocompleteModel: { title: TaoToken Autocomplete, provider: openai, model: claude-sonnet-4-20250514, apiBase: https://taotoken.net/api, apiKey: 你的_TaoToken_Key } }如果你用的是 Cline 或 Roo Code 这类插件配置方式类似在设置里选 OpenAI CompatibleBase URL 填https://taotoken.net/apiAPI Key 填 TaoToken 的 Key模型名按文档里支持的填。不同插件的字段名可能略有差异但核心就是 Base URL Key 模型名三样。注意API Key 不要直接提交到 Git 仓库。建议用环境变量或在插件配置里引用本地文件避免泄露。5. 验证请求与成功结果配置写完后需要验证通道是否通。最简单的方式是在插件对话框里发一条测试消息比如“用 ES6 写一个数组去重函数”。如果返回正常代码说明 Key 和 Base URL 都对了。也可以用 curl 直接测 API 通道curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer 你的_TaoToken_Key \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 用一行 ES6 写数组去重}], max_tokens: 100 }返回 JSON 里choices[0].message.content有内容就说明通了。如果返回 401检查 Key 是否复制完整返回 404检查 Base URL 是否多了或少了/v1返回 429说明触发了速率限制等一会儿再试。插件侧验证成功后你可以让 AI 帮你改一段 ES6 代码比如把var批量替换成const/let或者给一个函数补 JSDoc 注释。实测下来tabSize 设成 2 之后 AI 生成的代码缩进也能保持一致不会出现混用空格和 Tab 的问题。6. 本篇常见错排查tabSize 改了但没生效。最常见的原因是editor.detectIndentation没关。VSCode 打开文件时会根据文件现有缩进覆盖你的设置关掉这个选项后才会强制用editor.tabSize。另外检查一下是不是在项目里放了.editorconfig它的优先级高于 VSCode 设置。ES6 语法提示不出现。确认JavaScript(ES6) code snippets插件已启用并且当前文件语言模式是 JavaScript 或 TypeScript。如果是.vue文件需要装 Vue - Official 插件它会把script块识别为 JS。有时候插件装完需要重启 VSCode 才生效。ESLint 报错但代码明明没问题。检查项目根目录有没有.eslintrc.js或eslint.config.js以及eslint是否装在devDependencies里。VSCode 的 ESLint 插件依赖项目本地的 ESLint 版本全局装的不算。如果用的是 ESLint 9 的 flat config插件版本也要跟上。AI 插件连不上 TaoToken。先确认 Base URL 是https://taotoken.net/api而不是首页地址。然后检查 Key 有没有多余空格。如果插件要求填完整 endpoint试试https://taotoken.net/api/v1。部分插件对模型名有校验填一个文档里明确支持的模型名不要自己编。保存时格式化冲突。如果同时装了 Prettier 和 ESLint两个都在保存时格式化会出现代码反复横跳。解决办法是只留一个要么在 settings.json 里把editor.defaultFormatter设成其中一个要么关掉另一个的formatOnSave。我一般用 ESLint 管 JS/TSPrettier 管 CSS/HTML通过[javascript]这种语言级配置分开指定。配置这件事没有一劳永逸项目换了、插件升级了都可能要微调。但把 settings.json 骨架和插件清单固定下来每次换机器或重装系统时直接复制能省掉大量重复劳动。AI 编程插件的接入也是同理Key 和 Base URL 配一次后面换插件只要改字段名就行。