3

我正在尝试使用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)
    }
}
4

0 回答 0