【发布时间】:2017-08-31 12:59:49
【问题描述】:
我正在尝试编写一个 VSCode 扩展来支持基本的 SNES 应用程序开发。我已经有一个基本的语法定义和构建任务,所以我有语法突出显示,并且能够使用 Bass v14 汇编器使用 Ctrl+Shift+B 构建我的项目,但现在我正试图弄清楚如何启动该项目使用启动.json。我已经完成了official docs 并使用了模拟调试器项目,但我似乎无法弄清楚如何使其适应我的扩展。首先,我使用 bsnes-plus 模拟器作为我的调试器。实际上没有任何命令行或 IPC 接口可以让我实现适当的调试适配器,所以我真正想做的就是运行程序并将我的输出文件传递给启动。目前,我假设 bsnes-plus.exe 位于我的 $PATH 中,但最终我会尝试找出扩展的外部可执行依赖项的最佳实践。
所以这是我目前的问题:
- launch.json 的“程序”字段是我编译的应用程序,还是 bsnes-plus.exe?
- 如果“程序”是我的应用程序,我应该在哪里指定 bsnes-plus.exe?反之亦然。
- 有没有办法指定我自己的项目级变量,例如$OUTPUT 以便我不必将输出文件名硬编码到构建任务和启动任务中?
- 在某一时刻,我能够获得启动命令来打开 bsnes-plus,但无法加载游戏,当我关闭它时,VSCode 抱怨调试器意外终止并立即重新打开 bsnes-plus。我该如何避免这种情况?我是否需要编写一个调试适配器,即使它除了启动应用程序实际上不会执行任何操作,以便我可以告诉 VSCode 它干净地退出了吗?
【问题讨论】:
-
你有想过这个吗?我无处可去阅读调试适配器 API 上的 vscode 文档。除了 C64 VICE 模拟器之外,我正在尝试和你做的基本相同。
标签: visual-studio-code vscode-extensions