必须用官方 settings sync,第三方已废弃且存在严重兼容风险;官方方案登录 microsoft 或 github 账号即可启用,同步 settings、extensions、keyboard shortcuts、user snippets 和 ui state 五类内容,插件自动安装并版本锁定,但项目级规则文件(如.eslintrc.js、.prettierrc)需手动提交至 git 以保障团队一致。

VSCode插件同步该用官方 Settings Sync 还是第三方 Settings Sync?
直接结论:必须用官方 Settings Sync,第三方 Settings Sync 插件已废弃且存在严重兼容风险。
VS Code 自 1.70 版本起(2022 年中)就内置了原生同步能力,而第三方插件仍在依赖 GitHub Gist,不仅无法同步 UI State、Snippets 等关键项,还常因 Gist API 限流或权限变更导致同步失败、插件列表错乱甚至丢失配置。官方方案登录 Microsoft 或 GitHub 账号即可启用,无需额外扩展。
- 开启路径:
Ctrl+Shift+P→ 输入Turn on Settings Sync→ 全选五类同步项(Settings / Extensions / Keyboard Shortcuts / User Snippets / UI State) - 多设备首次同步后,新电脑只需登录同一账号,VS Code 会自动拉取并安装所有插件(包括版本锁定),无需手动导入
extensions.json - 若遇到插件未自动安装,检查
Extensions同步是否开启(默认开启),并确认该插件未被sync.ignoredExtensions排除
JavaScript 代码规范如何随插件一起同步到新机器?
插件本身能同步,但规则生效依赖项目级配置文件 —— 这部分不会被 Settings Sync 自动搬运,必须手动纳入项目仓库。
ESLint 和 Prettier 的行为由 .eslintrc.js、.prettierrc 和 .vscode/settings.json 共同决定。Settings Sync 只同步你本地的 .vscode/settings.json(即编辑器行为),但不上传或拉取项目根目录下的规则文件。
- 团队协作时,把
.eslintrc.js和.prettierrc提交到 Git,确保所有人加载同一套校验逻辑 -
.vscode/settings.json中至少保留这三项,否则保存时不会触发格式化:"editor.formatOnSave": true、"editor.defaultFormatter": "esbenp.prettier-vscode"、"editor.codeActionsOnSave": { "source.fixAll.eslint": true } - 如果新机器上 ESLint 报错 “Cannot find module 'eslint-plugin-react'”,说明插件虽已同步,但项目依赖未装 —— 运行
npm install或yarn install补齐
为什么在新电脑上 Code Runner 运行 JS 没反应?
不是插件没同步,而是 Code Runner 默认使用 Node.js 解释器,但它不读取系统 PATH,只认它自己能找到的第一个 node 可执行文件。
常见现象:旧电脑能跑,新电脑点击 ▶ 按钮后输出面板空白,或报错 command 'code-runner.run' not found(其实是 node 找不到)。
- 先确认
node -v在终端中能正常输出版本号;不能则重装 Node.js,并勾选 “Add to PATH” - 打开 VS Code 设置(
Ctrl+,),搜索code runner executor map,找到Code-runner: Executor Map,编辑 JSON: - 将
"javascript": "node"改为绝对路径,例如 Windows:"javascript": "C:\Program Files\nodejs\node.exe";macOS:"javascript": "/usr/local/bin/node" - 该配置属于用户级设置,会被 Settings Sync 同步,所以改一次,所有设备生效
同步后 ESLint 标红但 Prettier 不自动格式化?
大概率是 formatter 冲突或优先级错位 —— VS Code 允许同时启用多个 formatter,但只允许一个成为默认,且 editor.formatOnSave 只调用默认 formatter。
即使你装了 Prettier 和 ESLint 插件,若 editor.defaultFormatter 指向错误扩展,或者 eslint.format.enable 被意外开启,就会出现“检测出错但不修复”的割裂状态。
- 检查当前默认 formatter:
Ctrl+Shift+P→Preferences: Configure Language Specific Settings...→ 选javascript→ 看editor.defaultFormatter是否为esbenp.prettier-vscode - 禁用 ESLint 的格式化能力:在设置 JSON 中明确加
"eslint.format.enable": false,避免和 Prettier 抢 control - 验证 Prettier 是否真生效:打开任意 JS 文件,手动触发
Ctrl+Shift+I(格式化文档),看缩进、引号是否变化;若无反应,说明 Prettier 配置或解析器未加载成功
同步本身解决的是“有没有”,而不是“好不好用”。真正让 JS 开发体验一致的,是插件 + 规则文件 + 运行时环境三者闭环。漏掉任何一环,新机器上的编辑器就只是个空壳。











