【发布时间】:2019-01-26 01:31:52
【问题描述】:
就像 vim、nano 和其他一些命令行文本编辑器一样。 当进入应用程序时,它变成另一个基于文本的屏幕,应用程序可以独立修改每个字符作为UI,无需任何命令行屏幕滚动(在我自己的程序中简单地输出字符填充屏幕时,终端会自动滚动),甚至可以在控制台屏幕中处理鼠标事件。
1
~
~
~
~
~
~
~
-- VISUAL -- 0,0-1 All
然后退出应用程序,屏幕恢复,看起来应用程序从不输出(应用程序屏幕根本不可能覆盖外部输出):
~$ vim
~$
对于 Windows,曾经有一个类似的“EDIT”命令。
如何制作类似的 UI 来实现基于文本的 UI?我应该调用哪种 API?
取决于操作系统还是终端类型?
我希望它可以在 Linux(以及通过 SSH)和 Windows 命令行上运行。是否有适用于两者的解决方案,或者我必须单独实施它们?
我需要用 C# (.NET Core) 开发它,因此首选托管代码解决方案,但本机(C 语言)解决方案也可以。
【问题讨论】:
-
这主要是在询问 xterm 的 alternate screen(这将使其成为 duplicate),但除此之外,问题过于宽泛。
标签: c# c linux windows console-application