当前位置: 首页 > news >正文

VS Code 里的全局设置(User Settings)和工作区设置(Workspace Settings)settings.json详解

核心区别概览

特性全局设置工作区设置
作用范围当前用户的所有 VS Code 实例和项目仅当前打开的工作区(项目)
配置文件路径系统用户目录下的 Code/User/settings.json项目根目录下的 .vscode/settings.json
配置优先级低(被工作区设置覆盖)高(覆盖全局设置)
适用场景个人开发习惯和偏好项目特定的编码规范和环境配置
是否纳入Git绝不强烈建议

全局设置详解

1. 定位与用途

全局设置是你的个人偏好中心。它存放那些无论你打开哪个项目都希望保持一致的配置。

2. 配置文件位置

  • Windows%APPDATA%\Code\User\settings.json

  • macOS$HOME/Library/Application Support/Code/User/settings.json

  • Linux$HOME/.config/Code/User/settings.json

3. 典型配置内容(示例)

{// ====== 外观与体验 ======"workbench.colorTheme": "One Dark Pro Darker","workbench.iconTheme": "vscode-icons","window.zoomLevel": 1,// ====== 编辑器行为 ======"editor.fontSize": 16,"editor.fontFamily": "'Cascadia Code', 'Fira Code', Consolas, 'Courier New', monospace","editor.fontLigatures": true, // 启用连字,Fira Code等字体需要"editor.lineHeight": 1.5,"editor.minimap.enabled": false, // 关闭代码小地图"editor.wordWrap": "on", // 代码换行// ====== 文件与窗口 ======"files.autoSave": "afterDelay","files.autoSaveDelay": 1000,"explorer.confirmDelete": false, // 删除文件时不确认// ====== 终端 ======"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe", // 使用WSL"terminal.integrated.fontSize": 14,// ====== 扩展相关 ======// 这些配置可能由你安装的扩展提供"emmet.triggerExpansionOnTab": true,// ====== 语言无关的通用编码习惯 ======"editor.tabSize": 2,"editor.insertSpaces": true,"editor.detectIndentation": false, // 禁止自动检测缩进,使用我的统一设置"files.trimTrailingWhitespace": true, // 保存时删除行尾空格"files.insertFinalNewline": true, // 保存时在文件末尾添加换行// ====== 语言特定设置(你的个人偏好) ======"[markdown]": {"editor.wordWrap": "bounded","editor.quickSuggestions": false},"[json]": {"editor.quickSuggestions": {"strings": true},"editor.suggest.insertMode": "replace"}
}

4. 最佳实践

  • 主题、字体、快捷键等个性化设置放在这里。

  • 个人偏好的代码格式化风格(如默认缩进2空格)。

  • 各种扩展的全局配置。

  • 这个文件不应该被提交到 Git。


工作区设置详解

1. 定位与用途

工作区设置是项目的强制规范中心。它确保所有在该项目上工作的开发者都使用相同的开发环境配置。

2. 配置文件位置

位于项目根目录下的 .vscode 文件夹中:
[project-root]/.vscode/settings.json

如果 .vscode 文件夹或 settings.json 文件不存在,你需要手动创建它们。

3. 典型配置内容(示例)

{// ====== 项目特定的缩进规范 ======// 覆盖全局的2空格,强制此项目使用4空格"editor.tabSize": 4,"editor.insertSpaces": true,"editor.detectIndentation": false, // 重要:关闭检测,强制使用项目规范// ====== 语言执行环境 ======// 指定项目使用的 TypeScript 版本,优先使用项目本地的 node_modules 中的版本"typescript.preferences.useLocalTsdk": true,"typescript.tsdk": "node_modules/typescript/lib",// ====== 项目特定的文件排除 ======"files.exclude": {"**/node_modules": true,"**/dist": true,"**/.build": true,"*.log": true},"search.exclude": {"**/node_modules": true,"**/dist": true},// ====== 保存时的自动化操作 ======"editor.codeActionsOnSave": {"source.fixAll.eslint": "explicit", // 保存时运行 ESLint 修复"source.organizeImports": "explicit" // 保存时整理 import 语句},"editor.formatOnSave": true, // 保存时自动格式化"eslint.validate": [ // 指定 ESLint 校验的语言"javascript","javascriptreact","typescript","typescriptreact"],// ====== 项目特定的语言服务器设置 ======"python.pythonPath": "venv/bin/python", // 指定 Python 虚拟环境"python.linting.enabled": true,// ====== 项目特定的扩展设置 ======// 例如,为此项目配置 Live Server 的端口"liveServer.settings.port": 3001,// ====== 调试配置 ======// 虽然主要在 launch.json 中,但有些相关设置可以在这里"debug.onTaskErrors": "showErrors",// ====== 语言特定设置(项目规范) ======// 强制此项目的 JSON 文件使用2空格,即使编辑器全局是4空格"[json]": {"editor.tabSize": 2},"[javascript]": {"editor.defaultFormatter": "esbenp.prettier-vscode", // 指定此项目JS的格式化工具"editor.tabSize": 2},"[typescript]": {"editor.defaultFormatter": "esbenp.prettier-vscode"}
}

4. 最佳实践

  • 项目缩进规范(2空格 vs 4空格 vs Tab)。

  • 保存时的自动化操作(如自动格式化、ESLint修复)。

  • 指定项目使用的特定语言版本或SDK

  • 配置项目专用的扩展设置

  • 定义项目的文件排除列表(如构建输出目录)。

  • 这个文件必须被提交到 Git,以便团队协作。


如何管理和编辑它们

方法1:通过命令面板(推荐)

  1. 打开全局设置(JSON):
    Ctrl+Shift+P -> 输入 Preferences: Open User Settings (JSON)

  2. 打开工作区设置(JSON):
    Ctrl+Shift+P -> 输入 Preferences: Open Workspace Settings (JSON)
    注意:只有在打开了一个文件夹作为工作区时,这个命令才可用。

方法2:通过设置UI

  1. 按 Ctrl+, 打开设置界面。

  2. 在顶部,你可以看到一个切换按钮,可以在「User」和「Workspace」之间切换。

  3. 在设置UI中修改后,可以点击右上角的「打开设置(JSON)」图标,查看生成的 JSON 代码。

方法3:直接编辑文件

你可以直接用 VS Code 或其他编辑器打开对应的文件路径进行编辑。


配置冲突与优先级:实战分析

假设你的配置如下:

  • 全局设置:

    {"editor.tabSize": 2,"editor.fontSize": 14
    }
  • 工作区设置:

    {"editor.tabSize": 4,"files.autoSave": "onFocusChange"
    }

最终生效的结果

配置项生效值原因
editor.tabSize4工作区设置覆盖了全局设置
editor.fontSize14工作区未设置,继承全局
files.autoSaveonFocusChange工作区设置了新值

简单规则:工作区设置 > 全局设置。工作区设置中定义的任何值都会直接覆盖全局设置中的同名值。

总结

  • 全局设置 = 你的个人习惯(主题、字体、个人快捷键)

  • 工作区设置 = 项目的强制规范(缩进、格式化、环境路径)

http://www.dtcms.com/a/508408.html

相关文章:

  • 用C语言实现单例模式
  • 怎么样在网站做产品推广设计师设计一套房子要多少钱
  • 网站开发好学seo如何推广网站
  • 基于51单片机温度检测报警
  • LeetCode:210. 课程表 II
  • HYPE模型高级实践:集成多源遥感数据的流域分布式模拟、参数自动率定与模型源代码修改
  • 网站建设网站网页模板开发公司工程部经理岗位职责
  • 学习springBoot框架-开发一个酒店管理系统,来熟悉springboot框架语法~
  • 大数据开发生态及学习路线和应用领域
  • 华为云自助建站好不好网络 网站
  • seo怎么收费网站缺陷和优化的例子
  • 软件产品开发从0到1的各个阶段
  • 设计师个人网站源码知名网站制作
  • dedecms怎么部署网站wordpress动态标签
  • 目标检测:使用自己的数据集微调DEIMv2进行物体检测
  • 揭阳企业建站系统模板服装定制图案
  • 彩票网站和app建设网站开发需要经过的几个主要阶段
  • 如何从零开始:设计一款游戏(从一页纸开始)
  • 小程序简单还是做网站简单前端移动端开发
  • 站长之家官网查询网站开发目录
  • h5游戏免费下载:亡者之城
  • [人工智能-大模型-10]:大模型典型产品对比 - 智能对话与问答​类型
  • 苏州美丽乡村建设网站企业网站带后台模板
  • 淘宝网站制作wordpress怎么更改语言设置
  • 海东企业网站建设公司怎么找推广渠道
  • CSS的hover伪类的元素如何在浏览器开发者工具中被审查!
  • 网站如何做外部链接龙岗网络营销
  • 建设网站要电脑才能吗网站怎样推广 优帮云
  • 一区直接写!CEEMDAN分解 + Informer-LSTM +XGBoost组合预测模型
  • 性价比高的网站建设上海企业网站的建设