Возможна ли отладка Termbox-Go с использованием программ с VSCode и Delve?

Я пытаюсь создать консольное приложение, используя https://github.com/nsf/termbox-go/. В качестве редактора я использую VSCode с плагином Go и Delve для отладки.

Теперь проблема в том, что когда я начинаю отладку, я не вижу вывод termbox в окне встроенной консоли. Но сейчас я ищу немного и все еще не могу найти способ запустить программу во внешнем окне терминала. Есть один?

Есть ли альтернативы, которые я пропускаю (возможно, 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)
    }
}

0 ответов

Другие вопросы по тегам