gdamore / tcell

Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
Apache License 2.0
4.53k stars 306 forks source link

Confusing error message when run in linux vscode debug environment. #716

Open spearson78 opened 5 months ago

spearson78 commented 5 months ago

When running in debug mode in VS Code under Linux the Application.Run() method returns an *os/exec.ExitError . This is very confusing and makes tracking down the root cause difficult.

The issue is caused by the default debug environment in VS Code not launching in a terminal.

The issue can be solved (under linux) by using the following launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch with Terminal",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${fileDirname}",
            "console": "integratedTerminal"
        }
    ]
}

Note the integratedTerminal console setting.

The error message can be improved by returning an ErrTermNotFound in the case of an empty $TERM environment variable. Hopefully a better error message will lead users to identify the lack of a terminal as the root cause of the problem.

I have implemented this improvement and will create a pull request for this issue.