6.1 用户设置与工作区设置:分清领地


6.1 用户设置与工作区设置:分清领地

本节摘要:设置系统分五层,优先级从默认值、用户、远端、工作区到文件夹逐级升高。本节讲清每层的管辖范围与合并规则,给出"任一配置项该落哪层"的判断法,配置账号同步实现多机同脸。分层想清楚了,前五章散落的各处配置才真正各归其位。

装备装了四五轮,配置散落在各处的时代该结束了。你是不是也见过这样的工位:工作区设置里写死了个人偏好(比如终端字体),换台机器打开同一项目,体验全变;反过来,用户设置里压着项目规矩(比如该项目的格式化器),同事拉下仓库后各跑各的样。这些都是"领地不清"的病。这一章开章先立宪法:设置系统的分层与优先级。

五层领地与合并规则

设置从低到高分五层,高者覆盖低者:

图 6-1:设置分层优先级金字塔

图 6-1:设置分层优先级金字塔

各层管辖:默认值是出厂基准,动不了也不用动;用户级管你这台机器上所有项目的个人偏好;远端级是远程工位(第 5 章)的机器级设置,管远端那台机器的偏好;工作区级随仓库走、可入库共享,管"这个项目的规矩";文件夹级是多根工作区里对单个仓的更细覆盖,用得少但关键时刻救命。合并规则一句话:逐键比较,高层有值用高层,没值落回低层。

{ "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, "editor.rulers": [100] }

这份工作区设置演示了典型项目规矩:全局保存即格式化、默认格式化器指定、按语言改派——第 2 章与第 4 章的配置在这层领地里正式安家。

判断法:这个配置该写哪层

三问定层。**第一问:换个项目还成立吗?**不成立(如"这个项目用哪个格式化器")→ 工作区级;成立(如"我喜欢四号半字号")→ 下一问。**第二问:换台机器还成立吗?**成立且想带到新机器 → 用户级加配置同步;成立但机器相关(如这台显示器的渲染参数、这台机器的终端档位路径)→ 用户级不同步或远端级。**第三问:团队都需要吗?**需要且涉及项目行为 → 工作区级入库;仅是个人口味 → 严禁入侵工作区。

常见误放两个方向都要防:个人偏好上浮进工作区(同事被你的字号绑架)、项目规矩下沉进用户级(换项目后旧规矩阴魂不散)。后者的典型症状:打开新项目格式化行为怪异,查半天发现用户级里压着上一个项目的语言级格式化器指派——按判断法把它挪回工作区级,病根即除。

台面实测:一次配置漂移的归位

真实场景:团队五人的同一仓库,格式化行为各不相同。排查:让每人打开设置页的"已修改"视图对比,发现格式化器指派有人写在用户级、有人写在用户级的语言块、有人没写(吃默认值),三种位置三种行为。归位动作:项目规矩统一写进工作区设置并入库(默认格式化器加语言改派全套);个人口味(是否保存即格式化的激进程度这类,团队若有分歧再议,先统一);各人清掉自己用户级里越界的键。此后新成员拉仓库即得正确行为,工位的"同脸"由仓库保证,不靠口口相传。

配置同步:多机同脸的账号化

多台机器(公司机、家用机、笔记本)的用户级如何一致?内置的配置同步走账号:设置、快捷键、扩展清单、界面状态随账号漫游,新机器登录即恢复。要注意同步的是用户级与扩展清单,工作区设置永远随仓库走不同步——两套机制各管各的轨道,互不越界。远程场景再加一层:远端级的设置不随你的账号同步(它是远端机器的本地偏好),给每类远端环境也维护一份基线(可存成个人仓库里的记录文件),环境重建时有据可依。

坑点提醒

坑一,图形页改错层。 设置界面上每项都有"用户或工作区"两个标签页,手快改错层是常事;改完看一眼状态提示确认落在哪层。坑二,工作区设置合并冲突。 团队协作中两人同时改工作区设置文件产生版本冲突,照版本控制的规矩解决——这文件就是代码,评审着改。坑三,远端与本地分层混谈。 远程工位打开的设置界面有"本地、远端"之分,装错层的症状见第 5 章,配置同理。

常见疑问快答

问:设置页图形界面和 JSON 文件,用哪个改?答:日常用图形页(有搜索、有说明、不易写错键名),但两个时刻必须开 JSON:做批量调整时(图形页逐项点太慢)、排查“这个键到底在哪层生效”时(JSON 视图能同时看多层的合并结果)。图形页管便利,JSON 视图管真相。

问:团队对某项配置吵翻天(比如要不要保存即格式化),怎么收场?答:把争议项拆成“项目行为”与“个人口味”两类——影响仓库一致性的(格式化触发、检查器规则)进工作区设置,团队投票定版;纯体验的(字号、主题)留给个人。多数争吵的本质是把口味当成了行为,分层一分就散了。

问:配置同步与工作区设置,会互相覆盖吗?答:不会——两条轨道不同步交叉:账号同步搬的是用户级与扩展清单,工作区设置永远随仓库走。担心“同步把项目配置冲掉”是把两条轨道混为一谈的典型误解,金字塔模型里它们根本不在同一层。

问:多根工作区里,同一项设置三个仓三个值,以谁为准?答:按优先级金字塔:文件夹级覆盖工作区级、工作区级覆盖用户级——三个仓各自的设置作用于各自文件,互不串门;真正共享的视图类配置放在多根工作区的设置层。理解了“作用域跟着文件走”,这类问题全部自解。

问:远程工位的设置又分本地端与远端端,加上五层金字塔,会不会乱上加乱?答:不乱,因为两个维度正交——本地端的五层管你看到的一切,远端端的五层管远端机器上的行为。操作上认准设置界面的端别标签即可。维度多是事实,但每个维度内规则不变,这比“一个扁平大池子”好管理得多。

问:接手别人的机器,怎么快速摸清他的分层?答:两步——设置界面开“已修改”筛查看用户级动了什么,再读仓库里的工作区设置文件。两份对照读完,这台机器的“个性化程度”与“项目约束”一目了然,比逐项试探快得多。

替代方案

分层的替代是"全用户级"的粗放管理(单机单人凑合能用,团队与多机场景必乱)或"全工作区级"的过度收敛(个人口味被项目绑架)。五层金字塔是内置的规矩,用好它没有额外成本。下一节把三类主力装备的配置项按这套分层治理一遍。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U