zoukankan      html  css  js  c++  java
  • Unity Editor Console Pro 扩展点击定位到外部工程

    链接

    http://blog.csdn.net/akof1314/article/details/53232981

    http://forum.china.unity3d.com/thread-26890-1-1.html

     

    原因

    以 C# 源码形式放在 Unity 工程中,那么打印日志的时候,双击 Console 窗口里面的日志行信息,就会自动定位到 Visual Studio 所在的文件和行数。

    但是,以 DLL 形式放在 Unity 工程的话,就无法快速定位打开所在的文件和行数。

    解决

    借助第三方插件 Editor Console Pro,扩展它的功能,判断双击日志行信息的时候,当文件处于非 Unity 工程中的话,则打开外部工程来定位。

    扩展配置界面:

    C# 文件

    外部 C# DLL 工程,使用 Visual Studio 打开,需要安装过Microsoft Visual Studio Tools for Unity,才能发送定位文件消息。

    自 Unity 5.2 开始,已经集成了这个插件,那么只要反射 Unity 所加载的SyntaxTree.VisualStudio.Unity.Bridge.dll,发送定位文件消息即可。

    但是,首先得对代码工程*.csproj文件,添加一条配置项:

    <ProjectTypeGuids>{E097FAD1-6243-4DAD-9C02-E9B9EFC3FFC1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    • 1

    添加在第一个<PropertyGroup>节点之下。这样才能使得VSTU可以通过UDP发送消息命令。

    要注意的一点,加上这个配置项,可能导致工程项目的属性窗口无法打开。

    使用的时候,在配置界面,配置外部 DLL 工程解决方案的路径。那么在 Console Pro 3 窗口里双击日志行信息的时候,就会自动打开定位到外部 DLL 工程。

    Lua 文件

    嵌入 Lua 工程,在 Lua 脚本中打印日志,日志格式为:

    15:7:2.333-0: [F:/Svn/Resource/Assets/Lua/tolua.lua:10]:msginfo
    • 1

    那么可以通过设置,来指定双击日志行信息的时候,用 ZeroBrane Studio 打开文件,或者用 Sublime Text 打开文件。

    忽略自定义日志类

    日志包装类封装了Debug.Log,打印日志的时候,在堆栈最顶层都是日志包装类信息,不方便定位到上层调用的位置。

    插件Editor Console Pro支持配置忽略自定义日志类在堆栈上显示。在配置界面,Ignore 页面里,添加一条 Ignore stack entries 记录,类名填入包装类名称即可,如下所示:

    应用之后,再看日志,便可一眼清晰,如下所示:

    下载

    [原创] 重新定义Unity编辑器控制台:Editor Console Pro 

    [复制链接]
       

    845

    主题

    1484

    帖子

    1万

    贡献

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    19165
    QQ
    跳转到指定楼层
    楼主
     
     发表于 2017-8-31 08:05:00 只看该作者 |只看大图 回帖奖励
    我想有个控制台,可以按照自己的需求来自定义显示各种类型的输出信息,从而更好的了解自己游戏的运行情况。移动开发工具包中的Editor Console Pro就可以满足这一需求。今天Unity平台部技术总监杨栋,就为大家详细介绍Editor Console Pro是如何帮助大家节省项目调试时间,提高开发效率的。另外,现在订阅Unity Plus加强版及Unity Pro专业版即可免费获取Unity为开发者们精心挑选的四选一开发工具包,移动开发、2D开发、VR开发及艺术设计。

    Editor Console Pro简介

    <ignore_js_op>


    Unity内置的Console窗口(控制台)是一个重要的开发辅助工具,所有的Log和报错信息都会显示在这里。您也可以通过在代码中添加print()或者Debug.Log()方法调用直接输出信息到Console窗口。下图是在代码出错的时候大家通常会看到的报错信息:

    <ignore_js_op>


    点击错误信息会打开代码编辑器,并在编辑器中高亮显示出错的代码片段。虽然Unity自带的控制台已经可以满足一些常用需求,但结合一些高级功能会更加有助于项目调试,例如直接在控制台显示代码所在位置并且高亮。

    下图是同样的报错信息输出在Editor Console Pro窗口中的样子:

    <ignore_js_op>


    通过这个简单的示例,比较上面两张截图会发现,一个很重要的区别是:在Editor Console Pro中,出错的源代码会被直接显示在窗口中,一目了然,方便开发者直接定位出错的地方。

    Editor Console Pro主要功能

    关键字搜索:

    如果控制台的信息不是太多,可以滚动鼠标滚轮来查看所有内容。然而一旦控制台如下图那样出现数十条信息,Unity自带的控制台就力不从心了,这时搜索功能显得很重要。Editor Console Pro提供强大的关键字搜索功能,可以轻松根据关键字查看对应的Log。

    <ignore_js_op>



    丰富的功能配置界面

    您可以通过下图的Preferences菜单打开功能设置界面:

    <ignore_js_op>


    功能设置界面如下图:

    <ignore_js_op>


    可以在配置界面设定要追踪的Log信息,除了输出信息、警告、错误之外,还可以追踪异常、断言,并对某个特定的变量或方法进行监测。


    强大的过滤显示功能

    目前Unity自带的控制台支持通过Logs, Warnings和Errors三个条件进行过滤,Editor Console Pro支持创建自定义过滤组,并且可以设置每个组的颜色,图标和开关按钮。为自定义过滤组设置不同类型的搜索条件,如下图:

    <ignore_js_op>


    为自定义过滤组设置不同的Log类型,如下图:

     

    创建三个自定义过滤组以后在界面上显示,如下图:

     


    使用Remote Logging获取在设备上运行游戏的Log和 堆栈信息

    按照以下步骤让发布的包支持Remote Logging功能:

    a)    在场景中添加一个空的GameObject并添加ConsoleProRemoteServer组件;

    b)    在构建窗口勾选对应平台的Development Build进行构建;

    c)    确保您的设备和电脑连着同一个网络并且使用同一个子网掩码;

    d)    打开Remote Logging:

    <ignore_js_op>


    e)    点击“Remote On”按钮激活远程模式,如果一切设置正确,您将会看到Console会开始接收Log:

    <ignore_js_op>


    结语

    Editor Console Pro相较于Unity自带的Console,提供了更丰富的功能选项。开发者可以按照自己的需求来自定义显示各种类型的输出信息,从而更好的了解自己游戏的运行情况,进一步提高项目开发与调试效率。后面我们还会陆续为大家介绍VR开发及艺术设计工具包的相关内容在Unity官方中文社区(unitychina.cn),请保持关注。
  • 相关阅读:
    最全 C 语言常用算法详解-排序-队列-堆栈-链表-递归-树 (面试有用)
    iOS多线程各种安全锁介绍
    将openfire部署到CentOS云服务器上
    触摸事件MultiTouch Events
    Usaco 2006Nov Round Numbers
    Codeforces 850C Arpa and a game with Mojtaba
    HDU4466 Triangle
    Codeforces Gym 101521A Shuttle Bus
    Codeforces 817F MEX Queries
    Codeforces 482B Interesting Array
  • 原文地址:https://www.cnblogs.com/sanyejun/p/7692724.html
Copyright © 2011-2022 走看看