Focus Highlight
一个为 VS Code 打造的高效光标行高亮插件,提供 10 套优雅的配色方案,支持深色/浅色主题自动适配,完全可配置,零卡顿。

✨ 功能特性
🎯 核心功能
- 整行高亮:实时高亮光标所在的整行,无缝跟随光标移动
- 10 套预设方案:
- 深色主题(5 套):柔和款、醒目款、低调款、护眼款、个性款
- 浅色主题(5 套):柔和款、醒目款、低调款、护眼款、个性款
- 自动主题适配:根据编辑器主题自动推荐合适的高亮方案
- 完全自定义:支持在 settings.json 中完全自定义高亮样式
🚀 优化功能
- 多光标支持:多光标编辑时,所有光标行同时显示高亮
- 防抖处理:优化光标移动事件,避免频繁更新,性能卓越
- 一键开关:支持通过配置快速启用/禁用插件
- 语言排除:可配置排除特定文件类型的高亮
- 内存管理:自动释放资源,无内存泄漏
🎨 美观设计
- 高亮不遮挡代码,字体清晰易读
- 支持透明度调整,减少视觉干扰
- 支持自定义边框和圆角
- 兼容所有 VS Code 主题和字体颜色
🚀 快速开始
安装
- 打开 VS Code 扩展市场
- 搜索 "Focus Highlight"
- 点击 "Install" 安装
基本用法
安装后插件会自动激活,无需任何配置即可使用默认的高亮效果。
⚙️ 配置说明
所有配置项都可在 VS Code 的设置面板中可视化修改,也可以在 settings.json 中手动编辑。
基础配置
focusHighlight.enabled
- 类型:
boolean
- 默认值:
true
- 说明: 启用/禁用整个插件的高亮功能
focusHighlight.scheme
- 类型:
string
- 默认值:
auto
- 可选值:
auto - 根据当前主题自动选择合适方案(推荐)
soft-dark - 深色-柔和款
vivid-dark - 深色-醒目款
subtle-dark - 深色-低调款
eye-protection-dark - 深色-护眼款
purple-dark - 深色-个性款
soft-light - 浅色-柔和款
vivid-light - 浅色-醒目款
subtle-light - 浅色-低调款
eye-protection-light - 浅色-护眼款
purple-light - 浅色-个性款
custom - 使用完全自定义配置
- 说明: 选择预设高亮方案
自定义配置
focusHighlight.customBackground
- 类型:
string
- 默认值:
""
- 说明: 自定义高亮背景颜色(支持 HEX、RGB、RGBA 格式)
- 示例:
"#ff0000", "rgb(255, 0, 0)", "rgba(255, 0, 0, 0.3)"
focusHighlight.customOpacity
- 类型:
number
- 默认值:
1
- 范围:
0 - 1
- 说明: 调整高亮的不透明度,会覆盖预设方案的透明度
focusHighlight.customBorder
- 类型:
string
- 默认值:
""
- 说明: 自定义高亮边框样式
- 示例:
"1px solid #ff0000", "2px dashed #0000ff"
focusHighlight.customBorderRadius
- 类型:
string
- 默认值:
""
- 说明: 自定义高亮圆角
- 示例:
"4px", "8px"
性能配置
focusHighlight.debounceDelay
- 类型:
number
- 默认值:
150
- 范围:
0 - 1000
- 单位: 毫秒
- 说明: 光标移动防抖延迟,越大越流畅但反应越慢
- 建议:
50-100ms - 快速反应,适合高刷新率编辑
150-200ms - 平衡方案(推荐)
300-500ms - 流畅优先,适合代码阅读
多光标配置
focusHighlight.multiCursorEnabled
- 类型:
boolean
- 默认值:
true
- 说明: 多光标编辑时是否高亮所有光标所在行
高级配置
focusHighlight.excludeLanguages
- 类型:
array
- 默认值:
[]
- 说明: 排除特定语言的高亮
- 示例:
["markdown", "plaintext", "json"]
focusHighlight.autoThemeAdaptation
- 类型:
boolean
- 默认值:
true
- 说明: 编辑器主题变更时自动推荐合适的高亮方案
focusHighlight.preserveSelection
- 类型:
boolean
- 默认值:
false
- 说明: 有文本选中时是否保持显示高亮
focusHighlight.showInMinimap
- 类型:
boolean
- 默认值:
true
- 说明: 高亮是否在代码缩略图中显示
🛠️ 命令
通过 Ctrl+Shift+P(Cmd+Shift+P on Mac)打开命令面板,执行以下命令:
- Focus Highlight: Enable - 启用插件
- Focus Highlight: Disable - 禁用插件
- Focus Highlight: Toggle - 切换插件启用/禁用状态
- Focus Highlight: Select Scheme - 快速选择配色方案
- Focus Highlight: Show Config - 显示当前配置信息
- Focus Highlight: Clear Cache - 清空装饰器缓存(调试用)
📋 配置示例
示例 1:基础配置(使用预设方案)
{
"focusHighlight.enabled": true,
"focusHighlight.scheme": "soft-dark",
"focusHighlight.debounceDelay": 150
}
示例 2:完全自定义配置
{
"focusHighlight.enabled": true,
"focusHighlight.scheme": "custom",
"focusHighlight.customBackground": "#1e90ff",
"focusHighlight.customOpacity": 0.25,
"focusHighlight.customBorder": "2px solid #1e90ff",
"focusHighlight.customBorderRadius": "4px",
"focusHighlight.debounceDelay": 200
}
示例 3:护眼模式
{
"focusHighlight.enabled": true,
"focusHighlight.scheme": "auto",
"focusHighlight.autoThemeAdaptation": true,
"focusHighlight.debounceDelay": 200,
"focusHighlight.showInMinimap": false
}
示例 4:禁用特定语言的高亮
{
"focusHighlight.enabled": true,
"focusHighlight.excludeLanguages": ["markdown", "plaintext", "json"]
}
🎨 配色方案详解
深色主题方案
| 方案 |
名称 |
背景色 |
特点 |
适用场景 |
soft-dark |
柔和款 |
#3a3a3a |
低饱和度、舒适 |
长时间编码 |
vivid-dark |
醒目款 |
#0066ff |
高对比度、明显 |
快速定位光标 |
subtle-dark |
低调款 |
#2d2d2d |
接近背景、隐蔽 |
代码阅读 |
eye-protection-dark |
护眼款 |
#556633 |
黄绿色、护眼 |
晚间编码 |
purple-dark |
个性款 |
#663399 |
紫色、个性 |
个人偏好 |
浅色主题方案
| 方案 |
名称 |
背景色 |
特点 |
适用场景 |
soft-light |
柔和款 |
#e0e0e0 |
低饱和度、舒适 |
日间编码 |
vivid-light |
醒目款 |
#ffcc00 |
高对比度、明显 |
快速定位光标 |
subtle-light |
低调款 |
#f0f0f0 |
接近背景、隐蔽 |
代码阅读 |
eye-protection-light |
护眼款 |
#ffffcc |
黄绿色、护眼 |
日间工作 |
purple-light |
个性款 |
#e6ccff |
紫色、个性 |
个人偏好 |
🔧 故障排查
高亮没有出现
- 检查插件是否启用:
focusHighlight.enabled 应为 true
- 检查文件语言是否被排除:查看
focusHighlight.excludeLanguages
- 尝试运行命令 "Focus Highlight: Clear Cache" 清空缓存
- 重启 VS Code
高亮颜色不符合预期
- 检查当前配色方案:运行命令 "Focus Highlight: Show Config"
- 尝试切换预设方案:运行命令 "Focus Highlight: Select Scheme"
- 检查自定义配置是否覆盖了预设方案
性能问题
- 增加防抖延迟:
focusHighlight.debounceDelay: 300
- 禁用多光标高亮:
focusHighlight.multiCursorEnabled: false
- 禁用缩略图显示:
focusHighlight.showInMinimap: false
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License - 详见 LICENSE 文件
🙏 致谢
感谢 VS Code 官方提供的出色 API 和文档。
Made with ❤️ for VS Code