VSCode 工作区设置不生效是怎么回事? 博主燕丽 提问于 2026-03-01 18:31:19 阅读 4 工具 我在项目根目录下加了 .vscode/settings.json,想让这个项目用 2 个空格缩进,但 VSCode 还是按全局的 4 个空格来格式化,完全没反应。我试过重启编辑器、重装 Prettier 插件,都不行。 配置文件内容是这样的: { "editor.tabSize": 2, "editor.insertSpaces": true } 是不是我哪里搞错了?工作区设置不是优先级比用户设置高吗? 开发工具 我来解答 赞 1 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 世英 Dev Lv1 你配置本身没写错,工作区设置优先级确实比用户设置高。但问题大概率出在 Prettier 身上。 Prettier 这货有自己的配置体系,它会优先读取项目根目录下的 .prettierrc、prettier.config.js 或者 package.json 里的 prettier 字段。如果这些文件存在,你 .vscode/settings.json 里写的 editor.tabSize 根本不会被 Prettier 理睬。 解决办法有两种。 第一种,直接建一个 .prettierrc 文件放在项目根目录: { "tabWidth": 2, "useTabs": false } 第二种,如果你坚持用 VSCode 的配置文件,那就得在 .vscode/settings.json 里加上 Prettier 的设置: { "editor.tabSize": 2, "editor.insertSpaces": true, "prettier.tabWidth": 2 } 另外要做个校验,检查一下你项目根目录是不是已经有 .prettierrc 或者 prettier.config.js 了,有的话直接改里面的 tabWidth 值就行,别搞两套配置打架。 最后提醒一点,.vscode/settings.json 建议提交到 git 仓库,这样团队其他开发者拉下来就能保持一致的格式化规则。但 .prettierrc 这种文件更要提交,不然每个人本地格式化出来的代码都不一样,代码评审的时候能烦死你。 回复 点赞 2026-03-02 11:04 Tr° 羽铮 Lv1 这个问题我之前也踩过坑!工作区设置优先级确实比用户设置高,这点你没理解错。但问题大概率出在 Prettier 身上。 你用的是 Prettier 格式化对吧?Prettier 这货比较"霸道",它有自己的配置体系,不会直接读取 VSCode 的 editor.tabSize。它默认是 2 空格,但如果你的项目里有其他配置文件,或者全局设置被它接管了,就会出现你说的这种情况。 解决办法有几个,你可以按顺序排查一下。 第一,最直接的办法,在项目根目录建一个 Prettier 配置文件,比如 .prettierrc,内容这样写: { "tabWidth": 2, "useTabs": false } 这样 Prettier 就会乖乖按 2 空格来了。 第二,或者你也可以直接在你现在的 settings.json 里加上 Prettier 的配置项: { "editor.tabSize": 2, "editor.insertSpaces": true, "prettier.tabWidth": 2 } 第三,顺便检查一下项目根目录有没有 .editorconfig 文件,这玩意儿优先级也挺高,会覆盖编辑器设置。如果有的话,看看里面的 indent_size 是不是设成了别的值。 改完之后重启一下 VSCode,应该就好了。希望能帮到你! 回复 点赞 2026-03-01 19:00 加载更多 相关推荐 2 回答 54 浏览 VSCode调试时设置断点后代码不暂停怎么办? 最近在用VSCode调试JavaScript代码,设置了断点但运行时完全不暂停。试过重启VSCode和电脑都不行,是不是哪里配置错了? 我的launch.json配置是这样的: { "version"... ___丽丽 前端 2026-02-10 14:54:52 2 回答 48 浏览 VSCode工作区路径别名配置不生效怎么办? 在VSCode里配置了workspace路径别名,但项目里用的时候一直报模块找不到的错误,试过重启编辑器也不行,怎么回事啊? 我按照网上的教程在.vscode/settings.json里加了这段配置... 长孙宇杰 工具 2026-02-04 11:08:33 1 回答 8 浏览 VSCode调试React项目时断点不生效怎么办? 我在用VSCode调试本地的React项目,已经装了Debugger for Chrome插件,也配好了launch.json,但打的断点总是变成灰色,提示“未验证的断点”。试过重启编辑器、重新编译项... 端木淑丽 工具 2026-02-28 08:27:20 2 回答 36 浏览 VSCode怎么优化配置让大项目加载更快 最近在做一个挺大的前端项目,每次打开VSCode感觉启动和切换文件都特别慢。试过调整了一些设置但效果不明显,想知道有没有什么特别有效的优化方法? 博主梓涵 工具 2026-01-25 02:33:08 1 回答 3 浏览 VSCode Remote连接后React组件不热更新怎么办? 我在用 VSCode Remote-SSH 连接到远程服务器开发 React 项目,本地修改代码后页面完全不热更新,手动刷新也不生效,但终端里 Webpack 显示编译成功了。这是怎么回事? 我试过重... 设计师明硕 工具 2026-03-02 20:57:25 1 回答 6 浏览 VSCode主题颜色怎么自定义才能高亮React组件名? 我最近在用VSCode写React,想让自定义主题里组件名(比如MyButton)显示成醒目的颜色,但改了tokenColors好像没生效。试过把"support.class.component"设成... 端木德鑫 工具 2026-03-01 19:38:18 1 回答 7 浏览 VSCode里Git提交时怎么忽略某个HTML文件? 我在用VSCode开发一个静态页面,每次改完代码Git都会提示我有个 index.html 被修改了,但其实这个文件是构建生成的,我不想把它提交到仓库里。我已经在 .gitignore 里加了 ind... 宇文淑萍 工具 2026-02-28 21:20:25 1 回答 32 浏览 VSCode Live Share共享代码时,对方无法看到实时更新怎么办? 我在用VSCode Live Share和队友协作修改一个HTML页面,但对方连接后只能看到初始代码,当我修改像按钮文本这样的内容时,他们端完全看不到实时变化,这正常吗? 我试过重启Live Shar... Dev · 景景 工具 2026-02-17 22:14:25 1 回答 339 浏览 VSCode调试React项目时断点无法命中怎么办? 用React+Vite新建的项目,配置好VSCode调试后,代码里的断点就是没反应。已经检查过launch.json里路径没问题,但调试时控制台只显示"正在调试",断点都是灰色的。 我的组件代码是这样... 子豪酱~ 工具 2026-02-04 19:47:34 2 回答 64 浏览 VSCode扩展命令注册后点击没反应怎么办? 我按照官方文档写了一个简单的VSCode扩展命令,但点击菜单后没有任何反应。已经确认package.json里注册了命令:"contributes.commands": [{"command": "m... Mr.嘉煊 工具 2026-01-31 16:47:27
Prettier 这货有自己的配置体系,它会优先读取项目根目录下的
.prettierrc、prettier.config.js或者package.json里的prettier字段。如果这些文件存在,你.vscode/settings.json里写的editor.tabSize根本不会被 Prettier 理睬。解决办法有两种。
第一种,直接建一个
.prettierrc文件放在项目根目录:第二种,如果你坚持用 VSCode 的配置文件,那就得在
.vscode/settings.json里加上 Prettier 的设置:另外要做个校验,检查一下你项目根目录是不是已经有
.prettierrc或者prettier.config.js了,有的话直接改里面的tabWidth值就行,别搞两套配置打架。最后提醒一点,
.vscode/settings.json建议提交到 git 仓库,这样团队其他开发者拉下来就能保持一致的格式化规则。但.prettierrc这种文件更要提交,不然每个人本地格式化出来的代码都不一样,代码评审的时候能烦死你。你用的是 Prettier 格式化对吧?Prettier 这货比较"霸道",它有自己的配置体系,不会直接读取 VSCode 的
editor.tabSize。它默认是 2 空格,但如果你的项目里有其他配置文件,或者全局设置被它接管了,就会出现你说的这种情况。解决办法有几个,你可以按顺序排查一下。
第一,最直接的办法,在项目根目录建一个 Prettier 配置文件,比如
.prettierrc,内容这样写:这样 Prettier 就会乖乖按 2 空格来了。
第二,或者你也可以直接在你现在的
settings.json里加上 Prettier 的配置项:第三,顺便检查一下项目根目录有没有
.editorconfig文件,这玩意儿优先级也挺高,会覆盖编辑器设置。如果有的话,看看里面的indent_size是不是设成了别的值。改完之后重启一下 VSCode,应该就好了。希望能帮到你!