【Unity】 HTFramework框架(六十九)Log在编辑器日志中自定义点击事件

更新日期:2026年1月5日。

Github 仓库:https://github.com/SaiTingHu/HTFramework

Gitee 仓库:https://gitee.com/SaiTingHu/HTFramework

索引

一、Log在编辑器日志中自定义点击事件

Log日志工具箱支持在编辑器日志中自定义点击事件,以在Console控制台中点击某某文字时触发自定义事件,以增强Console控制台的调试功能。

二、使用自定义点击事件

要在编辑器日志中使用自定义点击事件,只需如下这样做:

csharp 复制代码
public class Test : HTBehaviour
{
    protected override void Awake()
    {
        base.Awake();
        
        //使用 CustomLogClick 即可封装一个自定义点击事件
        string custom = Log.CustomLogClick("点击可执行自定义操作", () =>
        {
            Log.Info("执行自定义操作");
        });
        Log.Info($"自定义操作测试,{custom}。");
    }
}

运行效果如下:

三、实际使用例子

1.在日志中快捷复制内容

比如在Web请求时,获取到的回复结果(string)太长(使用鼠标选取复制太麻烦,有时候超出控制台单条日志长度上限后还会被裁剪)。

此时,我们便可以使用自定义点击事件来实现点击某某文字便复制整个回复结果(string)的功能,以便于快速、精准分析请求结果:

csharp 复制代码
			//通过wif(web请求接口)获取其回复结果
            string content = wif.OnGetDownloadString(handler);
            //封装一个自定义点击事件,使得点击此段文字便复制完整的回复结果
            string contentName = Log.CustomLogClick("回复内容(点击可复制):", () =>
            {
            	//复制完整的回复结果到系统剪切板
                GUIUtility.systemCopyBuffer = content;
            });
            
            //打印该请求详细信息
            Log.Info($"【发起Web网络请求】接口:{apiStr},URL:{urlStr},收到回复:{dataStr}字节,开始时间:{begin},结束时间:{end},{contentName}{content}。");

运行效果如下:

那么现在,即使该请求的回复结果再长,我们也可通过直接点击文字回复内容(点击可复制)便完整复制回复结果。

2.彻底清理日志

最后,自定义点击事件等无法通过点击Console窗口左上角的Clear按钮清理,所以最好使用如下方式清理控制台日志(快捷键Alt + 1):

当然,不清理也无关紧要(无非是编辑器的内存占用高了微乎其微的一点点)。

相关推荐
浮尘笔记11 小时前
JetBrains差异设置被自动勾选的排查与根治实录
经验分享·程序人生·编辑器·intellij idea·phpstorm·webstorm
Dream-Y.ocean14 小时前
鸿蒙PC平台逻控 PLC 编辑器适配实战:基于 Electron 壳方案的纯 JavaScript 梯形图编程与仿真引擎开发
javascript·编辑器·harmonyos
NextTech_2 天前
不想学 vim,怎么改服务器上的配置文件?
服务器·编辑器·vim
tealcwu2 天前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu2 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎
淡海水3 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
小小数媒成员3 天前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
暴走约伯3 天前
【VFX工具链源码拆解 04】拯救丢失的绑定:Timeline 一键克隆与层级相对路径重映射算法
unity·c#·游戏引擎·硬件工程
小小数媒成员3 天前
Unity UGUI布局组件(LayoutGroup、ContentSizeFitter、LayoutElement)详解
unity·游戏引擎
tealcwu3 天前
【Unity基础】Unity输入与Time.deltaTime的使用原则
unity·游戏引擎