SusConsoleService

开发者控制台浮层 —— 拦截 Unity 日志,按颜色分级显示在所有 UI 之上,支持 Tab 补全和过滤的 命令输入。
包
SusCore · Devtools(免费)
SusConsoleService 是一个纯 C# 浮层服务,不是 .sharq 组件 —— 没有什么可以拖进模板里的东西。 挂载一次即可,它会在应用的整个生命周期内监听 Unity 的日志管道。
用法
csharp
#if DEVELOPMENT_BUILD || UNITY_EDITOR
var console = new SusConsoleService
{
OverlayHost = SusBootstrap.GetOrCreateOverlay(uiDocument.rootVisualElement),
ToggleKey = KeyCode.BackQuote, // ~
MaxEntries = 500,
};
console.Attach(); // subscribes to Application.logMessageReceivedThreaded, spawns the hotkey driver
#endif按 ~(或调用 Toggle())从屏幕底部打开控制台。日志按严重级别着色(Log/Warning/Error 对应 灰/黄/红),默认自动滚动到最新条目,除非你手动向上滚动过;可以用 All / Log / Warn / Err 筛选按钮或搜索框来缩小范围。命令输入框在按 Enter 时执行已注册的命令,按 Tab 补全当前前缀; clear、help、filter <all|log|warn|error> 是内置命令 —— 用 RegisterCommand 可以 注册更多。
| 成员 | 作用 |
|---|---|
OverlayHost | 控制台挂载的浮层层级(Console 分类 —— 最顶层) |
ToggleKey | 打开/关闭控制台的快捷键(默认 ~) |
MaxEntries | 已捕获日志行的环形缓冲区大小 |
IsOpen | 控制台当前是否显示 |
Attach() / Detach() | 启动/停止日志拦截和快捷键驱动 |
Show() / Hide() / Toggle() | 打开/关闭浮层 |
SetFilter(ConsoleFilter) / SetSearch(string) | 缩小可见日志行的范围 |
RegisterCommand(name, handler, help) | 向输入框添加一个命令 |
ExecuteCommand(input) | 以编程方式执行一个命令 |
备注
- 免费 —— 随 sus-core 提供,无需购买 SusKit。
- 把构造代码包在
#if DEVELOPMENT_BUILD || UNITY_EDITOR里,避免它进入发布构建。 - 完整的搭建流程和命令注册技巧:见包文档中的 Dev Console 指南。