有没有办法在Unity的控制台中使用超链接?

时间:2019-10-04 08:08:18

标签: c# unity3d

我正在按照this指南使用Unity的自定义记录器(log4net)。这涉及制作一个使用Debug.Log()写入Unity控制台的自定义附加程序。所有这些都很好用,但是问题是,每当打印一条日志语句时,它都来自自定义附加程序。因此,当我在控制台中双击消息时,我最终打开的是附加程序的代码,而不是消息起源的源代码。我想在控制台中将可点击的超链接打印到源代码的路径。(我已经有了路径)

似乎Unity控制台已经支持可点击的链接: enter image description here 我只是不知道如何使其打印我想要的链接。

在诸如Intellij之类的IDE中,控制台会自动解析链接,因此我尝试在统一控制台中打印源的路径,例如:

(at Assets/Scripts/MovablePlatform.cs:)

但这没用

TL; DR

我想知道是否可以在Unity控制台中打印可点击链接,例如“ http://www.google.com”或“ file:/// D:/Mysourcode/main.cs”

2 个答案:

答案 0 :(得分:1)

据我所知

那里有这些链接,因此您可以跳转到导致Debug.Log调用的堆栈跟踪中的任何调用方法,而您要做的就是向下滚动。正是由于日志附加器,Unity精确地添加了此功能,但是系统完全由Unity管理。双击仍将转到实际的Debug.Log行,但是您仍然可以通过那些“超链接”访问其他行,但是它们是Unity自动生成的,并且没有API可以自己编写这些链接。

如果您不希望日志附加程序丢失该信息,请不要执行任何使Unity在使用日志附加程序时丢失该信息的操作。您没有包括您的代码,因此不清楚丢失额外信息的原因。还要检查您的console settings以及您是否正在使用Unity 2019.1或更高版本。

答案 1 :(得分:0)

富文本支持文件路径的锚标记,但它似乎不支持 URL。你的例子是:

Debug.Log("<a href=\"Assets/Scripts/MovablePlatform.cs\" line=\"7\">Assets/Scripts/MovablePlatform.cs:7</a>");