链接

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

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

 

原因

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

Unity Editor Console Pro 扩展点击定位到外部工程

Unity Editor Console Pro 扩展点击定位到外部工程

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

Unity Editor Console Pro 扩展点击定位到外部工程

解决

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

Unity Editor Console Pro 扩展点击定位到外部工程

扩展配置界面:

Unity Editor Console Pro 扩展点击定位到外部工程

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

Unity Editor Console Pro 扩展点击定位到外部工程

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

Unity Editor Console Pro 扩展点击定位到外部工程

忽略自定义日志类

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

Unity Editor Console Pro 扩展点击定位到外部工程

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

Unity Editor Console Pro 扩展点击定位到外部工程

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

Unity Editor Console Pro 扩展点击定位到外部工程

下载

 

[复制链接]
   
Unity Editor Console Pro 扩展点击定位到外部工程

845

主题

1484

帖子

1万

贡献

管理员

Unity Editor Console Pro 扩展点击定位到外部工程Unity Editor Console Pro 扩展点击定位到外部工程Unity Editor Console Pro 扩展点击定位到外部工程

积分
19165
Unity 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类型,如下图:



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

<ignore_js_op>


结语

Editor Console Pro相较于Unity自带的Console,提供了更丰富的功能选项。开发者可以按照自己的需求来自定义显示各种类型的输出信息,从而更好的了解自己游戏的运行情况,进一步提高项目开发与调试效率。后面我们还会陆续为大家介绍VR开发及艺术设计工具包的相关内容在Unity官方中文社区(unitychina.cn),请保持关注。

相关文章:

  • 2022-01-31
  • 2021-12-03
  • 2021-07-31
  • 2021-07-14
  • 2021-07-03
  • 2022-12-23
  • 2021-12-24
猜你喜欢
  • 2021-08-26
  • 2022-12-23
  • 2021-04-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-16
相关资源
相似解决方案