SuperAPI AI 工具集

dotnet-terminal-gui

通用与其它

查看项目

更新于 10-16 01:13

技能介绍

用途:该技能面向使用 Terminal.Gui v2 构建完整 TUI 应用的 .NET 开发者,覆盖应用生命周期、布局、视图、菜单、对话框、事件处理与主题;富控制台输出、CLI 解析、CLI 架构与分发分别由其他技能负责。版本假设:.NET 8.0+ 基线,推荐新项目使用 Terminal.Gui 2.0.0-alpha(Alpha 为活跃开发线,API 稳定且功能完整,Beta 前可能有破坏性变更);v1.19.0 处于维护模式。安装时可添加 PackageReference:Include="Terminal.Gui" Version="2.0.0-alpha.";v1 项目使用 Version="1.19."。

主要能力:v2 采用基于实例的 IApplication 与 IDisposable 生命周期,替代 v1 的静态 Application.Init/Run/Shutdown。布局统一由 Pos(X/Y)与 Dim(Width/Height)控制,支持 Absolute、Percent、Center、AnchorEnd、Relatve、Align、Fill、Auto、Func 及算术运算;区分 Frame 与 Viewport,可通过 SetContentSize 实现滚动。核心视图包括 Window、FrameView、Label、TextField、TextView、Button、ListView、TableView、CheckBox、RadioGroup、DatePicker、NumericUpDown、ColorPicker;菜单栏 MenuBar 支持多级菜单与分隔符,StatusBar 使用 Shortcut。事件采用命令模式:View.AddCommand 与 view.KeyBindings.Add(Key, Command);Button 使用 Accepting 事件替代 v1 Clicked;支持 KeyDown/KeyUp 与鼠标事件(view.MouseClick、MouseEvent,坐标相对 viewport)。样式默认 24 位 TrueColor 并自动回退 16 色,支持 ColorScheme、Attribute 与文本样式;支持通过 ConfigurationManager 设置 JSON 主题;adornment 系统提供 Border、Margin、Padding。

必要用法:初始化 using IApplication app = Application.Create().Init(); 后 app.Run(window) 或 app.Run<Dialog>() 并用 app.GetResult<T>() 取结果。MessageBox.Query/ErrorQuery 需传入 IApplication 作为第一个参数。全局退出键需在 Init 前设置静态 Application.QuitKey(默认 Esc)。

适用场景与限制:适合跨平台 TUI 与交互式终端应用;注意 macOS Terminal.app 修饰键有限、SSH 与 tmux/screen 可能拦截按键、旧版 Windows conhost Unicode 支持有限,建议在目标终端实测;TUI 可访问性与屏幕阅读器支持有限。