VSCode中修改鼠标选中文本高亮背景色需配置editor.selectionBackground,优先级高于主题和workbench设置,支持十六进制、RGB、RGBA;同时可单独设置editor.inactiveSelectionBackground控制非焦点编辑器的选中色,跨平台一致。

怎么改鼠标选中文本的高亮背景色
VSCode 默认用浅蓝色背景高亮选中文本,但这个颜色不是靠“主题配色”直接控制的,而是由编辑器底层的 editor.selectionBackground 配置项决定。改它就能换颜色,而且生效快、不依赖主题重载。
实操建议:
- 打开设置(
Ctrl+,或Cmd+,),搜editor.selectionBackground - 点击「在 settings.json 中编辑」,添加或修改这一行:
"editor.selectionBackground": "#ff6b6b"
- 颜色值支持十六进制、RGB、RGBA;用
rgba(255, 107, 107, 0.8)可微调透明度,避免遮挡语法高亮文字 - 改完不用重启,实时生效
为什么改了 theme 还是没变
很多人试过换主题、改 workbench.colorCustomizations,发现选中色纹丝不动——因为 editor.selectionBackground 的优先级高于主题色定义,也独立于工作台(workbench)层级的颜色配置。
常见错误现象:
- 在
workbench.colorCustomizations里写了"editor.selectionBackground",但没加外层editor对象包裹,导致无效 - 把颜色写成
"#fff"(纯白)+ 深色主题,结果选中后文字看不见 - 用了不带 alpha 的纯色,覆盖了括号匹配、光标所在行等叠加高亮效果
和 editor.inactiveSelectionBackground 什么关系
当焦点不在当前编辑器(比如你点了终端或侧边栏),已选中的文本会变淡——这个淡色由 editor.inactiveSelectionBackground 控制。它和 editor.selectionBackground 是两个独立开关,必须分别设置。
使用场景:
- 多人协作时想一眼看出谁在操作哪块代码,可把 inactive 色设为半透明灰(如
"#99999940") - 用双屏开发,主屏写代码、副屏查文档,保持主屏选中态醒目,副屏自动弱化
- 某些插件(如
Bracket Pair Colorizer)会在选区内画括号高亮,此时inactiveSelectionBackground透明度太低会干扰识别
Mac / Windows / Linux 下有区别吗
没有。VSCode 的编辑器渲染层统一走 Electron + 自绘 Canvas,editor.selectionBackground 行为跨平台一致。但要注意:部分系统级设置可能干扰视觉表现。
容易踩的坑:
- Windows 开启了「透明效果」或「深色模式」,可能让 VSCode 的 rgba 颜色渲染偏暗(尤其 alpha
- Mac 上启用「Reduce transparency」辅助功能后,所有半透明色都会被强制转为不透明,
rgba失效 - Linux Wayland 环境下极少数显卡驱动对 alpha 混合支持不佳,若发现选中色边缘发虚,换成十六进制纯色更稳










