Flutter - 如何在 vscode 中过滤调试控制台

Posted

技术标签:

【中文标题】Flutter - 如何在 vscode 中过滤调试控制台【英文标题】:Flutter - how to filter debug console in vscode 【发布时间】:2020-06-01 05:13:39 【问题描述】:

几天来,在DEBUG CONSOLEVSCODEVSCODE 中我收到如下消息:

W/.arae_blueprin(14366): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
W/.arae_blueprin(14366): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
W/.arae_blueprin(14366): Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
W/.arae_blueprin(14366): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
D/EGL_emulation(14366): eglMakeCurrent: 0xe1641400: ver 2 0 (tinfo 0xd5f83710)
D/EGL_emulation(14366): eglMakeCurrent: 0xc1f7c2e0: ver 2 0 (tinfo 0xbd495c10)
D/eglCodecCommon(14366): setVertexArrayObject: set vao to 6 (6) 0 0
W/.arae_blueprin(14366): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
I/DynamiteModule(14366): Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:21200
I/DynamiteModule(14366): Selected remote version of com.google.android.gms.ads.dynamite, version >= 21200
D/eglCodecCommon(14366): setVertexArrayObject: set vao to 4 (4) 0 0
D/eglCodecCommon(14366): setVertexArrayObject: set vao to 0 (0) 1 2
D/eglCodecCommon(14366): setVertexArrayObject: set vao to 0 (0) 1 2
D/eglCodecCommon(14366): setVertexArrayObject: set vao to 4 (4) 1 30

这些消息使我难以阅读我通过控制台发送的日志。

如何过滤它们以使其不出现,或者至少过滤我自己的日志?谢谢。

【问题讨论】:

这里也一样。更新到最新版本的flutter后,调试控制台变得不堪重负。 Flutter 版本:1.12.13+hotfix.8 有什么解决办法吗? 也在寻找解决办法 太残忍了。有很多关于它的票证似乎可以追溯到github.com/flutter/flutter/issues/50808。希望它得到一些关注,以便我们可以再次阅读我们的日志。 【参考方案1】:

请确保将您的 VS 代码版本更新到最新版本,然后观看此视频,了解如何过滤掉不必要的日志: https://streamable.com/tvatmz

基本上,如果您的日志如下所示:

cat cat 
dog dog

而您只想使用 cat 保留日志,您只需在过滤框中输入 cat 或直接输入 !dog

【讨论】:

【参考方案2】:

4 天前发布了一个基本的调试控制台过滤器。升级 VSCode 获取:https://github.com/microsoft/vscode/pull/102704

【讨论】:

【参考方案3】:

过滤调试控制台文本的功能即将发布到 v1.49(请参阅https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_49.md#debug-console-filter):

调试控制台现在支持过滤。这应该更容易 用户在调试控制台中找到他们正在寻找的输出和 能够隐藏不相关的日志。过滤器也支持排除 应以! 为前缀的模式。用户评价不 尊重过滤器并始终显示。和其他输入框一样 VS Code 你可以使用 updown 箭头在旧的之间导航 过滤输入。

【讨论】:

你知道如何记住最后一个过滤器吗?我的意思是谢谢,用箭头导航到最后一个【参考方案4】:

根据this 问题,目前似乎无法在 Visual Studio Code 中过滤调试控制台,但是您可以使用 Dart DevTools 的日志记录选项卡中的过滤文本字段来过滤被发送到控制台。我很欣赏这意味着除了 Visual Studio Code 之外,您还需要打开 Dart DevTools,但是在 Visual Studio Code 中实现过滤调试控制台的功能之前,这将是一个可用的解决方法。

【讨论】:

以上是关于Flutter - 如何在 vscode 中过滤调试控制台的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSCode/flutter 中升级包?

如何在android studio或vscode中搜索整个Flutter源码

Flutter 如何检测到安装了 VSCode?

vscode如何使用模拟器运行flutter项目

Flutter入门教程教你如何实现VSCode高效开发

VSCode和flutter,如何连接多个设备?