直接改editor.selectionBackground即可控制鼠标选中背景色,但常因第三方主题硬编码、插件劫持渲染或远程配置未同步而失效;需用rgba(0.3–0.6透明度)格式写入settings.json根级,并建议同步配置editor.inactiveSelectionBackground以区分焦点状态。

直接改 editor.selectionBackground 就行,别碰主题或 workbench.colorCustomizations ——它优先级最高,改完保存立刻生效。
为什么改了 editor.selectionBackground 没反应
不是配置写错了,而是被更高优先级的东西压住了:
- 第三方主题(如 One Dark Pro、Nord)在
package.json的tokenColors里硬编码了这个值,比settings.json优先级还高 → 临时切回Default Dark+测试,颜色正常就是主题问题 - 插件劫持了渲染,典型如
Bracket Pair Colorizer或Highlight Matching Tag→ 关掉插件再试 - 用了 Remote-SSH / WSL / Dev Container,但只改了本地
settings.json→ 看右下角有没有「Remote」字样,确保改的是远程窗口的配置 - 误把
editor.selectionHighlightBackground(双击变量后同名位置高亮)或workbench.colorCustomizations.editor.findMatchBackground(Ctrl+F 搜索匹配)当成了选中色——它们互不干扰
editor.selectionBackground 的值怎么写才有效
必须是合法 CSS 颜色格式,且推荐带透明度,否则会盖住语法高亮:
- 支持十六进制(如
"#264f78"),但纯色容易遮挡关键词/字符串颜色 - 更推荐
rgba()格式,alpha控制在0.3–0.6之间较安全,例如"rgba(38, 79, 120, 0.5)" - 不支持
rgb()、命名色(如"red")、变量引用,也不接受带空格或大小写错误的写法 - 必须写在用户级或工作区级的
settings.json根对象里,UI 设置面板里搜不到这个字段
要不要顺手配 editor.inactiveSelectionBackground
要。它控制编辑器失去焦点(比如切到终端或浏览器)时,已选中文本的背景色:
- 不设它,焦点丢失后选中块会回落到主题默认色,很可能和你的预期不一致
- 建议比
editor.selectionBackground稍暗或稍透明一点,比如"#1e3a5f"或"rgba(30, 58, 95, 0.4)",能清晰区分焦点状态 - 两者是独立通道:只设
inactive不设selectionBackground,焦点状态下不会生效 -
terminal.selectionBackground是终端专用,不能复用这里配的值
真正麻烦的是主题作者把 editor.selectionBackground 写死在 tokenColors 里——这时候改 settings.json 无效,得去翻主题源码或换主题。大多数人卡在这一步,不是不会配,而是不知道该往哪查。











