VSCode终端光标与编辑器光标完全独立,需用terminal.integrated.cursorStyle设为"block"、terminal.integrated.cursorBlinking设为false才能实现DOS风格稳定方块光标;终端不支持block-outline等扩展值,颜色和粗细不可调,仅靠字体大小、背景对比度及shell前景色控制显示效果。

VSCode 终端光标和编辑器光标完全独立,改 editor.cursorBlinking 或 editor.cursorStyle 对终端无效;想找回 DOS 风格的稳定方块光标+无闪烁效果,必须用 terminal.integrated.cursorStyle 和 terminal.integrated.cursorBlinking 单独配置。
终端光标形状只能设为 block/underline/line
VSCode 内置终端不支持 block-outline、line-thin 等扩展值,只认三个字符串:"block"(实心方块,最接近 DOS)、"underline"(下划线)、"line"(竖线)。设成 "block" 后若仍像细线,大概率是字体太小或抗锯齿干扰:
-
terminal.integrated.fontSize至少设为14,小字号下block会压缩成像素点 - macOS Retina 屏可关掉
terminal.integrated.fontAliasing(设为"none"),避免边缘发虚 - Windows 上若用等宽字体(如
"Fira Code"),block在空格位置更饱满,视觉更稳
终端不支持 smooth/phase/expand,只能开或关闪烁
terminal.integrated.cursorBlinking 是布尔值,只接受 true 或 false,不像编辑器支持 "smooth" 等动画。所谓“调频率”在终端里根本不存在——它要么闪(true),要么常亮(false):
- 设
false就是 DOS 式的稳定光标,无任何动画干扰 - 设
true后闪烁节奏由系统底层控制(Windows/macOS 的光标 blink rate 设置可能影响,但 VSCode 不保证响应) - 别写
"off"或"solid"—— 这些在终端配置里是非法值,会被静默忽略,退回到默认false
终端光标颜色和粗细无法自定义,靠对比度硬扛
VSCode 终端光标颜色直接继承 shell 的前景色(比如 bash 的 $PS1 颜色),workbench.colorCustomizations 中的 editorCursor.foreground 对它完全无效;宽度也固定,不能调 cursorWidth:
- 如果
block光标在深色背景(如#0a0a0a)下看不清,优先调亮终端背景色,而非折腾光标 - 推荐配对:深灰背景(
#121212) + 白色字体("#ffffff") +block光标,DOS 感最足 - 某些主题(如
vscode-dark-islands)会预设蓝绿色光标,但本质仍是 shell 渲染,不可控
最容易被忽略的是:终端配置必须显式写进 settings.json,GUI 界面里搜 “cursor” 很容易只看到编辑器项;而且一旦工作区里有 .vscode/settings.json,它会覆盖用户级设置——哪怕你本地全配对了,打开某个项目后终端又变回竖线,八成是那个项目自己锁死了配置。


















