很久之前,在我刚接触Unity的时候,就被一件事情所困扰——“在控制台里海底捞”,当时公司的项目还是Lua写逻辑的形式,那Log真的是……每次都把别人的Log注释注释再注释,留下自己的Log后长叹一声——真干净,那个时候其实就在想,为啥没有像很多强大的IDE那样有过滤器?直到我们买了Editor Console Pro这个插件,她的输出是这样的:
可以看到,与普通的Console相比,Editor Console Pro不同类型的Log有不同的颜色和Icon的区别(且可以自定义);当你选中一条Log的时候,他会非常贴心的以代码段而非单句代码的方式在下方显示出准确的堆栈打印堆栈;更方便的是,你可以直接双击下方的代码段跳转到对应的文件,而在普通的Console下通常我们需要自己找文件名和报错行数。
其次,她还有“本来就该有的”过滤功能,当一个团队协同开发的时候,难免大家自己打自己的Log,数量一多那就是上面说的“海底捞”。之前呆过一个稍微做得好点的团队,自定义了一个Log的输出管理类,然后大家以各自名称简写来打Log,比如:Debug.LogXM("")这种形式,然后再自定义一个编辑器,里面有不少复选框,选取自己关心的输出,但是这样依然存在“万一我都想看但是需要重开游戏”的问题。这时候有了过滤器功能,一方面平时的开发只需要关心自己想关心的部分,另一方面所有的Log又确确实实都在。
后来我换工作后,都会用上这个插件,然后简单的规定一下Log的规范,比如现在我们普通Log输出规范是:Debug.Log("name[ClassName:FunctionName] some log"); 第一是自己名称的缩写,中括号里的是[所在类名:方法名],这个时候就利用上强大的过滤器功能吧。
当然,上面的功能只是这款插件的最常用和基础的部分,还有更多高阶的操作在她的文档里。
AssetStore链接:Editor Console Pro - Asset Store