我正在尝试使用https://github.com/nsf/termbox-go/创建控制台应用程序。作为编辑器,我使用带有 Go 插件的 VSCode 和 Delve 进行调试。
现在的问题是,当我开始调试时,我在集成控制台窗口中看不到术语框输出。但是我现在正在寻找相当多的东西,但仍然找不到在外部终端窗口中启动程序的方法。有吗?
是否有我忽略的替代方案(可能是launch.json
我没有找到的设置)?如果可能的话,我如何调试这个依赖于用户输入和与 VSCode 作为我的编辑器交互的应用程序?
这是一个小示例文件:
package main
import "github.com/nsf/termbox-go"
func main() {
initTermbox()
defer termbox.Close()
eventQueue := make(chan termbox.Event)
go func() {
for {
eventQueue <- termbox.PollEvent()
}
}()
mainLoop(eventQueue)
}
func mainLoop(eventQueue chan termbox.Event) {
loop:
for {
select {
case ev := <-eventQueue:
if ev.Type == termbox.EventKey && ev.Key == termbox.KeyEsc {
break loop
}
if ev.Key == termbox.KeyArrowDown {
termbox.SetCell(1, 3, 'X', termbox.ColorRed, termbox.ColorDefault)
termbox.Flush()
}
}
}
}
func initTermbox() {
err := termbox.Init()
if err != nil {
panic(err)
}
}