选中任意文本时,在编辑器内底色与右侧 overview 标尺上高亮所有相同内容的出现位置,绕过 VSCode 内置 selection highlight 的数量上限。
为什么需要它
VSCode 内置的选中高亮(selection highlight)在某个词出现过多时会直接不渲染(内核写死的数量上限,无法通过设置调整)。本插件自己实现匹配与高亮,因此没有这个限制——无论匹配 100 个还是 10000 个都能显示。
说明:受 VSCode 公开 API 限制,自定义高亮无法画到 minimap(缩略图)本体,改画在 overview 标尺(编辑器右侧滚动条上的标尺)上,效果等同——一条覆盖所有匹配位置的全局标记条。
功能
- 选中即高亮所有相同内容(编辑器底色 + overview 标尺)
- 匹配过多时自动降级(默认只在标尺显示、编辑器内不画底色)
- 颜色、匹配上限、超限行为、大小写、最小选中长度均可配置
- 防抖处理,拖选过程不卡顿
配置项(highlightSelect.*)
| 配置 | 默认 | 说明 |
|---|---|---|
enabled |
true |
总开关 |
maxMatches |
2000 |
单个选中最多高亮的匹配数,0 表示不限 |
overLimitBehavior |
rulerOnly |
超限处理:rulerOnly(只标尺)/ truncate(截断到前 N)/ none(不显示) |
editorColor |
"" |
编辑器内底色,留空则取主题色 editor.selectionHighlightBackground |
overviewRulerColor |
rgba(173, 214, 255, 0.2) |
标尺标记颜色 |
caseSensitive |
true |
是否区分大小写 |
minSelectionLength |
1 |
触发高亮的最小选中字符数 |
从源码构建
git clone https://github.com/githubshaoguoyu/vscode-highlight-select.git
cd vscode-highlight-select
npm install
npm run compile
调试
按 F5 启动 Extension Development Host(启动时会自动编译),在打开的窗口中选中文本即可看到效果。