ncurses curs_set(0) 在 vscode 集成终端中不工作
ncurses curs_set(0) not working in vscode integrated terminal
目前使用 Ubuntu WSL2 在 C++20 中编码。
使用下面显示的代码,当 运行 WSL2 中的程序在 Windows 终端中按预期工作时,光标变得不可见。
但是,当运行WSL2中的程序在vscode的集成终端中时,光标在整个程序中都是可见的(为了以防万一,我什至把terminal.integrated.scrollback
0).
函数 curs_set(0)
在任一终端中运行时不会 return 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();
}
在使用 curs_set()
.
之前先调用 refresh()
一次,我最终解决了这个问题
目前使用 Ubuntu WSL2 在 C++20 中编码。
使用下面显示的代码,当 运行 WSL2 中的程序在 Windows 终端中按预期工作时,光标变得不可见。
但是,当运行WSL2中的程序在vscode的集成终端中时,光标在整个程序中都是可见的(为了以防万一,我什至把terminal.integrated.scrollback
0).
函数 curs_set(0)
在任一终端中运行时不会 return 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();
}
在使用 curs_set()
.
refresh()
一次,我最终解决了这个问题