settings.json 是 vscode 以 json 格式存储用户/工作区/远程设置的纯文本配置文件,比图形界面更灵活,支持注释、glob 模式和高级语言专属规则,可版本控制且分三层作用域。

VSCode 的 settings.json 是你真正掌控编辑器行为的核心配置文件。它比图形化设置界面更灵活、更精确,能解决界面里找不到选项的痛点,也能批量统一开发环境。关键不在于堆砌参数,而在于理解哪些设置真正影响日常效率。
settings.json 是什么,和图形设置有什么区别?
它是 VSCode 以 JSON 格式存储用户/工作区/远程等层级设置的纯文本文件。图形界面(Ctrl+,)修改的其实是这个文件的可视化操作入口——所有点击勾选,最终都转化为 JSON 字段。但有些高级行为(比如正则匹配的文件排除、特定语言的专属格式化规则、自定义快捷键逻辑)只能通过直接编辑 settings.json 实现。
它的优势在于:可版本控制(把配置提交到项目中,新人开箱即用)、支持注释(虽然 JSON 原生不支持,但 VSCode 允许 // 注释)、能写复杂表达式(如 "files.exclude" 支持 glob 模式)。
三个关键作用域,别设错地方
VSCode 设置分三层,优先级从高到低:工作区(当前文件夹) > 用户(本机全局) > 默认(VSCode 内置)。同一设置在多层出现时,高优先级覆盖低优先级。
- 用户设置:适合通用习惯,比如字体大小、主题、自动保存策略。路径通常为
~/.config/Code/User/settings.json(linux/macos)或%APPDATA%CodeUsersettings.json(windows) - 工作区设置:项目专用,存在当前项目根目录下的
.vscode/settings.json。例如:禁用某项目里的 ESLint,或为 python 项目指定虚拟环境路径 - 远程/容器设置:当连接到 WSL、docker 或 ssh 时,设置会自动加载对应环境下的
settings.json,避免本地配置污染远程开发环境
高频实用配置项,直接抄走就能用
不必从零写,从真正省时间的设置开始加:
- 让代码“呼吸”一点:
"editor.lineHeight": 24和"editor.fontSize": 14比默认更舒适;开启"editor.cursorSmoothCaretAnimation": true让光标移动更柔和 - 保存即整理:
"editor.formatOnSave": true+"editor.codeActionsOnSave": { "source.fixAll": true },配合 Prettier 或 ESLint,保存时自动格式化+修复问题 - 精准排除干扰文件:
"files.exclude": { "**/__pycache__": true, "**/node_modules": true, "**/*.log": true },减少资源占用和搜索噪音 - 语言专属开关:比如只对 markdown 关闭自动换行:
"[markdown]": { "editor.wordWrap": "off" };或为 typescript 启用更严格的类型检查:"typescript.preferences.includePackageJsonautoImports": "auto"
调试与维护小技巧
改完 settings.json 不生效?先看右下角状态栏的语言模式是否正确(比如 .js 文件被识别成 Plain Text,设置就不触发)。打开命令面板(Ctrl+Shift+P),输入 “Preferences: Open Settings (JSON)” 可快速定位当前生效的文件。
推荐安装插件 Settings Sync 或使用 gitHub Gist 同步你的用户设置;工作区配置建议加入 .gitignore 说明(比如注明 “此 settings.json 启用了 prettier-eslint 集成”),方便团队理解意图。
基本上就这些。settings.json 不是越长越好,而是越准越省心。改一项,试一次,留下真正让你敲代码更顺的那一部分。