【发布时间】:2019-08-07 04:55:58
【问题描述】:
我有一个将输出记录到可视代码调试控制台的记录器。
日志输出包括文件路径和行号。
我希望能够单击文件路径并让可视化代码打开相应的源文件。
我注意到标准堆栈跟踪会显示文件和行号,您可以单击它们。但是我无法点击我记录的文件/行号。
例如
package:myapp/widgets/SplashEffect.dart:24:
【问题讨论】:
标签: logging dart visual-studio-code
我有一个将输出记录到可视代码调试控制台的记录器。
日志输出包括文件路径和行号。
我希望能够单击文件路径并让可视化代码打开相应的源文件。
我注意到标准堆栈跟踪会显示文件和行号,您可以单击它们。但是我无法点击我记录的文件/行号。
例如
package:myapp/widgets/SplashEffect.dart:24:
【问题讨论】:
标签: logging dart visual-studio-code
VS Code 不知道package: 是什么所以无法链接它。也没有 API 用于提供链接检测的扩展,因此我们无法从 Dart 扩展中处理此问题。这里有一些相关的问题:
如果您可以输出相对于工作区文件夹的路径,我认为这会起作用。
【讨论】:
我最终发现我可以做到以下几点:
file:////home/me/git/myapp/lib/widgets/Dashlet.dart:121:9
我不是特别喜欢这种格式,因为它相当冗长,相对路径会更好,但我无法让它工作。
如果我使用
file:///./lib/test/LogTest.dart:7:9
可视化代码尝试访问文件“/lib/test/LogTest.dart”。
这对我来说没有任何意义。
【讨论】:
根据您的解决方案,将路径记录为 Uri 对我有用。
console.log(`${vscode.Uri.file(filepath)}:${line}:${col}`);
【讨论】: