在我的 C# WinForms 应用程序中,我使用 jint 执行 javascript。javascript 代码是我转译的打字稿文件的结果代码。我使用内联源映射。
现在我想给我的应用程序的用户调试我正在执行的 javascript 的可能性。对于那项工作,我想使用 VSCode。
问题是,我怎么能意识到这一点?我必须在 c# 方面做什么?有没有人这样做过?
在我的 C# WinForms 应用程序中,我使用 jint 执行 javascript。javascript 代码是我转译的打字稿文件的结果代码。我使用内联源映射。
现在我想给我的应用程序的用户调试我正在执行的 javascript 的可能性。对于那项工作,我想使用 VSCode。
问题是,我怎么能意识到这一点?我必须在 c# 方面做什么?有没有人这样做过?
我正在研究几乎完全相同的场景(jint 和让用户使用 VS Code 调试他们的脚本的愿望),我想出的答案如下:
使用 npm 启动代码,因为 VS Code 已经知道如何调试它。取决于安装的 npm 和路径。在当今世界,这不是一个大问题。
用于Jint.Runtime.Debugger.DebugHandler
与 VS Code 集成。
这具有不易受运行时差异影响的优点。
然而,对于一个小的改进来说,还有很多工作要做,并且像 Jint 的大多数工作一样,尽管是高质量的工作,但即使按照开源标准,文档也是蹩脚的。
涉及 dotnet 将使跨平台支持故事变得更加复杂。问题不在于其他平台的可执行文件或需要不同的运行时,而是部署。最完美的解决方案可能是负责安装和配置平台相关依赖项的 VS Code 扩展。您可以手动满足低工作量路径的依赖关系,但这会在一定程度上稀释高工作量路径的价值。
这种方法还存在一些风险取决于未完成的工作 - 请参阅https://github.com/sebastienros/jint/issues/674#issuecomment-735478529