需编辑 json 配置文件设置光标样式:在 settings.json 的 profiles.list 对应终端或 profiles.defaults 中添加 "cursorshape": "filledbox"(方块)或 "underscore"(下划线),大小写必须精确,修改后需重启 terminal 生效。

在 Windows Terminal 中修改光标样式为方块或下划线,需直接编辑其 JSON 配置文件,因为当前版本(截至2026年9月)仍不提供图形化设置界面,所有光标形状控制都依赖 cursorShape 字段的精确赋值。
确认当前配置文件路径并打开
按下 Win + R,输入 %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState,回车。找到并用记事本或 VSCode 打开 settings.json。这一步必须做,Windows Terminal 不读取注册表或系统设置,只认这个文件。
注意:如果该路径下没有 settings.json,先打开 Windows Terminal → 点击右上角下拉菜单 → 选择「Settings」→ 自动会创建默认配置并打开编辑器。
为指定终端配置光标形状
在 "profiles" → "list" 数组中,找到你要修改的终端项(如 PowerShell、WSL、CMD)。每个终端是一个对象,需在其内部添加或修改 "cursorShape" 字段。
方法一:设为实心方块(类似传统 CMD 效果)
在对应终端对象内加入这一行:"cursorShape": "filledBox"
方法二:设为下划线(适合快速打字避免遮挡字符)
替换为:"cursorShape": "underscore"
方法三:设为空心方块或竖线(备选样式)
可选值还有 "emptyBox"、"verticalBar"、"horizontalBar"。注意大小写必须完全匹配,写成 "filledbox" 或 "FilledBox" 均无效。
全局统一设置所有终端光标
若希望所有终端(包括新建的)默认使用同一光标样式,不逐个配置,就改 "profiles" 下的 "defaults" 对象:
① 找到 "profiles": { "defaults": { ... }, "list": [ ... ] } 结构
② 在 "defaults" 花括号内添加:"cursorShape": "filledBox"
③ 保存文件。此时新打开的任何终端标签页都会继承该光标样式。
这一步不能跳过——如果不写进 defaults,仅在 list 里改某一个终端,其他终端(比如你后续添加的 Git Bash)仍将沿用默认的 filledBox(Windows Terminal 当前默认值),但你无法通过 UI 知道它默认是什么,必须靠实测或查文档确认。
重启 Terminal 并验证效果
关闭所有 Windows Terminal 窗口,重新启动。打开任意终端标签页,观察光标是否已变为方块或下划线。
如果没变,请检查:是否误改了 VSCode 的 terminal.integrated.cursorStyle(那是 VSCode 自己的集成终端,和 Windows Terminal 完全无关);是否保存了文件但未关闭重开(Windows Terminal 不热重载 settings.json)。











