在 Windows 终端上更改 carret 的形状
Posted
技术标签:
【中文标题】在 Windows 终端上更改 carret 的形状【英文标题】:change carret's shape on windows terminal 【发布时间】:2021-10-13 19:47:49 【问题描述】:我想将控制台应用程序的文本光标(插入符号)从 BLOCK(默认)设置为 _ 或 |。
我Remove blinking underscore on console / cmd prompt - 但它没有提到如何修改光标。 https://docs.microsoft.com/en-us/windows/console/setconsolecursorinfo?redirectedfrom=MSDN 上的文档对我来说并不重要。
【问题讨论】:
同样的样本有效。您只需更新dwSize
即可更改大小。
我可以把它改成一个梁,还是一定要像旧的文本模式 0x03 一样?
文档解释了您可以对插入符号大小执行哪些操作。
【参考方案1】:
由 Raymond Chen 推荐(不知道他是谁的人:https://devblogs.microsoft.com/oldnewthing/)
这是我用于块光标的:
HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursorInfo;
GetConsoleCursorInfo(out, &cursorInfo);
cursorInfo.bVisible = true;
cursorInfo.dwSize = 100;
SetConsoleCursorInfo(out, &cursorInfo);
对于下划线光标:
HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursorInfo;
GetConsoleCursorInfo(out, &cursorInfo);
cursorInfo.bVisible = true;
cursorInfo.dwSize = 10;
SetConsoleCursorInfo(out, &cursorInfo);
【讨论】:
以上是关于在 Windows 终端上更改 carret 的形状的主要内容,如果未能解决你的问题,请参考以下文章
如何将 VS Code 终端选择 UI 从选项卡更改回下拉菜单? [复制]