应设为字符串"solid"可彻底禁用光标闪烁;合法值仅"blink""smooth""phase""expand""solid"五种,布尔值或拼写错误均无效;动画效果需VSCode≥1.85且不受插件及系统设置干扰。

关掉光标闪烁,或者换一种闪法,关键就三件事:确认开关没被写错、选对值、避开插件和工作区覆盖。VSCode 不支持调快慢节奏,但能换动画形态——前提是版本够新、配置没被劫持。
editor.cursorBlinking 值必须是字符串,不是 true/false
很多人设了 "editor.cursorBlinking": false 或 "off",结果还在闪。合法值只有五个字符串:"blink"(默认)、"smooth"、"phase"、"expand"、"solid"。其中 "solid" 是常亮不闪,"off" 并非标准值(部分旧版可能兼容,但不可靠)。
- 写成布尔值
false或数字0会静默失败,VSCode 回退到默认"blink" - 拼错 key 名,比如
"cursorBlink"或"editor.cursor_blinking",同样无效 - 想彻底关掉闪烁,用
"solid"最稳妥;想隐藏光标(慎用),某些版本支持"hidden",但不保证所有场景可用
smooth/phase/expand 动画需要 VSCode ≥1.85,且可能被插件屏蔽
"smooth" 不是“可调速的淡入淡出”,而是硬编码节奏的 opacity 动画;"phase" 是亮度周期性渐变;"expand" 是光标轻微呼吸式缩放。这些在 1.85+ 才正式支持,低版本会直接忽略,回退到 "blink"。
- 升级后仍无效?先禁用 Vim、Emacs 等模式插件——它们常动态重写光标样式,覆盖你的设置
- macOS 上若系统开启了「减少运动」(Accessibility → Motion → Reduce motion),VSCode 会主动禁用所有动画,包括
"smooth" - 启用了
--disable-gpu启动参数时,动画可能卡顿或消失
终端光标闪烁要单独开,编辑器设置完全不影响它
你在编辑器里把 "editor.cursorBlinking" 设成 "smooth",终端光标依然静止——这是设计如此,不是 bug。终端光标由两组独立配置控制:
- 是否闪烁:
"terminal.integrated.cursorBlinking",布尔值true/false,不支持"smooth"等动画 - 形状:
"terminal.integrated.cursorStyle",可选"line"、"block"、"underline",和编辑器的"editor.cursorStyle"互不干扰 - 终端光标没有颜色、宽度配置项,看不清优先调大
"terminal.integrated.fontSize"或换对比度更高的背景色
最容易被忽略的覆盖源:工作区设置和 Vim 插件
改完 settings.json 没反应,别急着重装。90% 的情况是以下之一:
- 项目根目录下有
.vscode/settings.json,它会覆盖用户级设置;右下角如果显示 “Workspace” 标签,说明当前生效的是工作区配置 - Vim 插件(如 vim/vscode-vim)默认接管光标行为,在 normal 模式用
"block",insert 模式切回"line",你手动设的"editor.cursorStyle"和"cursorBlinking"会被它动态覆盖 - 检查命令面板(Ctrl+Shift+P)→
Preferences: Open Settings (JSON),确保只有一处"editor.cursorBlinking",且没被注释或拼错
真正影响可视性的,往往不是闪不闪,而是光标够不够粗、颜色够不够跳——"editor.cursorWidth" 设为 2 或 3,再配 "workbench.colorCustomizations" 里的 "editorCursor.foreground",比纠结动画类型实在得多。











