【发布时间】:2021-11-29 08:20:01
【问题描述】:
目前使用 C++20 编码,使用 Ubuntu WSL2。
使用下面显示的代码,当在 Windows Terminal 中的 WSL2 中运行程序时,光标将不可见,按预期工作。
但是,当在 vscode 的集成终端中运行 WSL2 中的程序时,光标在整个程序中都是可见的(以防万一,我什至将 terminal.integrated.scrollback 设置为 0)。
函数curs_set(0) 在任一终端中运行时都不会返回ERR。这是vscode集成终端的问题吗?有没有办法解决这个问题?
代码:
#include <ncurses.h>
int main() {
initscr();
noecho();
cbreak();
if (curs_set(0) == ERR) {
addstr("Not working");
}
mvaddstr(1, 1, "Random sentence.");
refresh();
getch();
mvaddstr(2, 1, "Random sentence number two.");
getch();
endwin();
}
【问题讨论】:
-
这听起来像是终端模拟器 (xterm-js) 中的错误。
-
@Locklan 你在使用 DOM 渲染器吗?刚刚发现,DECTCEM 在那里不起作用(请参阅github.com/xtermjs/xterm.js/issues/3502)。
标签: c++ visual-studio-code xtermjs