【问题标题】:VisualCode - debug console - log so you can click through to source可视化代码 - 调试控制台 - 记录以便您可以点击查看源代码
【发布时间】:2019-08-07 04:55:58
【问题描述】:

我有一个将输出记录到可视代码调试控制台的记录器。

日志输出包括文件路径和行号。

我希望能够单击文件路径并让可视化代码打开相应的源文件。

我注意到标准堆栈跟踪会显示文件和行号,您可以单击它们。但是我无法点击我记录的文件/行号。

例如

package:myapp/widgets/SplashEffect.dart:24:

【问题讨论】:

    标签: logging dart visual-studio-code


    【解决方案1】:

    VS Code 不知道package: 是什么所以无法链接它。也没有 API 用于提供链接检测的扩展,因此我们无法从 Dart 扩展中处理此问题。这里有一些相关的问题:

    如果您可以输出相对于工作区文件夹的路径,我认为这会起作用。

    【讨论】:

    • 对于堆栈跟踪,调试适配器可以提供 VS Code 的路径。对于调试控制台,我们既不能告诉 VS Code 哪些文本是指向文件的链接,也不能告诉它如何自己解析链接(这就是我提到的 API 位),它只是对文本本身进行基本解析。我将相关的 VS Code 问题链接编辑到答案中。
    【解决方案2】:

    我最终发现我可以做到以下几点:

    file:////home/me/git/myapp/lib/widgets/Dashlet.dart:121:9

    我不是特别喜欢这种格式,因为它相当冗长,相对路径会更好,但我无法让它工作。

    如果我使用

     file:///./lib/test/LogTest.dart:7:9
    

    可视化代码尝试访问文件“/lib/test/LogTest.dart”。

    这对我来说没有任何意义。

    【讨论】:

      【解决方案3】:

      根据您的解决方案,将路径记录为 Uri 对我有用。

      console.log(`${vscode.Uri.file(filepath)}:${line}:${col}`);
      

      【讨论】:

        猜你喜欢
        • 2010-09-26
        • 2019-11-10
        • 2015-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-14
        • 2015-08-04
        • 2010-09-20
        相关资源
        最近更新 更多