如何玩转WaveTools终端模式?Spectre.Console命令行指令速查与高级用法
【免费下载链接】WaveTools🧰鸣潮工具箱项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools
WaveTools 终端模式是鸣潮工具箱 WaveTools 提供的一个纯控制台(命令行)交互入口,基于 Spectre.Console 库构建。相比图形界面,它让你用方向键即可完成启动游戏、配置路径、查看日志等高频操作,还支持安全模式一键恢复。本文面向新手,带你 5 分钟玩转终端模式的全部指令与高级用法。
什么是 WaveTools 终端模式?
WaveTools 默认启动图形化主界面,但如果你更喜欢"命令行党"的工作流,或在远程桌面、无显示场景下使用,可以切换到Terminal 模式:程序启动后不弹出主窗口,而是打开一个标题为WaveTools 𝑻𝒆𝒓𝒎𝒊𝒏𝒂𝒍的控制台,通过 Spectre.Console 的交互式菜单完成操作。
核心源码位于 TerminalMode.cs,菜单由AnsiConsole.Prompt驱动,日志输出由 Logging.cs 统一着色。
一键开启终端模式的设置步骤
开启路径非常短,只需 3 步:
- 打开 WaveTools,进入左侧的关于/设置页面(AboutView.xaml);
- 找到"程序行为"分组下的Terminal 模式开关(描述为"下次启动进入控制台交互模式");
- 拨到"开"后重启 WaveTools,下次启动即进入终端。
💡 注意:开关只决定"下次启动"的行为,当前会话不会立刻切换。设置项通过
Config_TerminalMode持久化,见 AppDataController.cs。
启动流程在 App.xaml.cs 中:程序启动时读取GetTerminalMode(),值为 1 时调用InitTerminalModeAsync直接进入终端,否则创建图形主窗口。
终端菜单指令速查表
进入终端后,Spectre.Console 会渲染一个带颜色的选择菜单(SelectionPrompt,单页 10 项)。菜单内容会根据你是否已配置游戏路径动态变化,这正是新手最容易困惑的地方:
未配置游戏路径时
| 指令 | 颜色 | 作用 |
|---|---|---|
| 选择游戏路径 | 白色 | 打开文件选择器,定位Wuthering Waves.exe |
| 显示主界面 | 青色 | 关闭控制台提示,切回图形界面 |
| 退出 Terminal 模式 | 红色 | 写入设置并打开主窗口,下次恢复 GUI 启动 |
| 退出 WaveTools | 加粗红色 | 彻底退出程序 |
已配置游戏路径时
| 指令 | 颜色 | 作用 |
|---|---|---|
| 开启游戏 | 加粗绿色 | 以管理员权限启动游戏,自动附加已保存的启动参数 |
| 清除游戏路径 | 加粗黄色 | 删除路径配置,回到"未配置"菜单 |
| 显示主界面 | 青色 | 打开图形界面 |
| 退出 Terminal 模式 | 红色 | 退出终端模式 |
| 退出 WaveTools | 加粗红色 | 彻底退出程序 |
菜单构建逻辑见 TerminalMode.cs。
选择游戏路径:Spectre.Console 状态指示器的正确用法
选择路径时,终端会先打印提示(通常位于游戏根目录\Wuthering Waves Game\Wuthering Waves.exe),随后出现 Spectre.Console 的状态指示器(AnsiConsole.Status().StartAsync("等待选择文件..."),见 TerminalMode.cs),等待你从弹出的文件选择器中点选。
三个细节决定了能否一次成功:
- 必须选中
Wuthering Waves.exe本体,选到其他文件会被拒绝; - 选错后终端会提示"选择文件不正确",并等待 3 秒自动重试,不会卡死;
- 成功后路径写入
Config_GamePath,菜单立即刷新为"已配置"版本。
"开启游戏"指令的底层逻辑在 GameStartUtil.cs:读取游戏路径与自定义启动参数,若设置中开启了 DX11 则追加-dx11,最后以管理员权限(runas)拉起游戏进程。
看懂终端日志:INFO / WARN / ERROR 三级彩色输出
WaveTools 的所有日志都同时写入控制台与本地日志文件,由 Logging.Write 统一处理,颜色规则如下:
[[INFO]]—— 白色加粗,常规信息;[[WARN]]—— 黄色加粗,警告提示;[[ERROR]]—— 红色加 bold,错误信息;[[Notification]]/[[BOARDCAST]]—— 通知与跨程序广播消息。
每行日志格式为[日期][线程ID][类.方法][内存地址]: 内容,排查问题时可对照日志文件(保存于数据目录Logs下,文件名含时间戳)。图形界面中捕获的异常也会通过AnsiConsole.WriteException输出到终端,见 MainWindow.xaml.cs。
高级用法:安全模式、控制台显隐与退出策略
1. 安全模式(SafeMode)
当程序启动遇到严重异常时,终端会以WaveTools SafeMode标题接管,只保留两个选项:
- 清空所有配置文件:递归删除数据根目录与
LocalData(见 TerminalMode.cs),相当于彻底重置; - 退出 WaveTools:放弃本次修复。
这是官方提供的"配置坏了怎么办"的终极方案,无需手动翻找%APPDATA%。
2. 控制台与终端模式是两回事
设置页里其实有两个独立开关(见 AboutView.xaml):
| 开关 | 效果 |
|---|---|
| 控制台 | 显示/隐藏调试控制台窗口(Config_ConsoleMode) |
| Terminal 模式 | 下次启动直接进入交互式终端(Config_TerminalMode) |
底层都调用TerminalMode.ShowConsole() / HideConsole(),通过 Win32 API 控制控制台窗口显隐,见 TerminalMode.cs。建议:只开"控制台"可保留图形界面的同时观察日志;两者都开则终端菜单与 GUI 共存。
3. 退出指令的三种归宿
| 指令 | 结果 |
|---|---|
| 显示主界面 | 保留终端模式设置,下次启动仍进终端 |
| 退出 Terminal 模式 | 调用SetTerminalMode(0)关闭设置,恢复 GUI 启动 |
| 退出 WaveTools | Application.Current.Exit()结束进程 |
常见问题速答
- 问:为什么开了开关重启没进终端?检查是否真的重启了程序;开关只影响"下次启动"。
- 问:终端里选不到游戏文件?文件选择器过滤了
.exe,请确认游戏根目录下存在Wuthering Waves.exe。 - 问:终端输出全是英文异常?异常堆栈会经过
ShortenPaths | ShortenTypes等格式化选项精简,完整细节请查日志文件。
掌握以上指令后,你就可以在 WaveTools 终端模式中高效完成启动游戏、路径管理与故障恢复,让这款鸣潮工具箱真正成为你的命令行利器。
【免费下载链接】WaveTools🧰鸣潮工具箱项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考