如何解决GoLand 设置终端单元不起作用 如何在 GoLand 中设置运行配置以在 cmd 或其他某种形式的终端中运行我的程序以允许我像这样设置单元格?
在 GoLand 中编写这个项目时,我注意到使用正常的运行配置并在集成终端中运行程序,我没有看到单元格按预期设置,尽管 tcell 没有给出任何错误。>
程序:
package main
import (
"time"
"github.com/gdamore/tcell"
)
func main() {
screen,err := tcell.NewScreen()
if err != nil {
panic(err)
}
err = screen.Init()
if err != nil {
panic(err)
}
screen.SetCell(0,tcell.StyleDefault,'X')
screen.SetCell(1,1,'X')
screen.SetCell(10,10,'X')
screen.Show()
time.Sleep(time.Second*5)
}
GoLand 输出:
该程序在通过 cmd 运行时按预期工作:
如何在 GoLand 中设置运行配置以在 cmd 或其他某种形式的终端中运行我的程序以允许我像这样设置单元格?
解决方法
- 打开
Help | Find Action...
- 输入 Registry 并按 Enter。
- 在那里找到
go.run.processes.with.pty
并将其打开。
请记住,它可能会导致运行配置出现问题,例如绿色测试失败,反之亦然,永远无法完成调试会话,等等。如果您发现与控制台输出相关的奇怪 IDE 行为,请禁用注册表选项。
我不确定 Y 轴上的点是否在“运行”窗口中正确显示。
,我猜 GoLands 终端是一个假终端,没有真正的光标寻址能力。如果是这种情况,可能没有好的解决方案。
我是 tcell 的作者,我使用 goland,但我承认我总是在真实终端而不是 IDE 提供的玩具终端中运行我的测试程序。无论我使用 goland、visual studio code 还是古老的 emacs,都是如此。
,通过使用新的批处理运行配置,您可以运行批处理文件来构建程序,然后在新的 cmd 窗口中运行该程序。
在 GoLand 的运行配置中,将“工作目录”设置为主包目录。然后将脚本设置为新的批处理文件。
这是我的包 client
的批处理文件中的代码
go build
start cmd /C client.exe
运行此配置将构建包,然后在单元格正确显示的新外部 cmd 窗口中运行程序。
这个解决方案不是很好,因为 GoLand 运行配置系统的大部分优势都丢失了,包括调试、进程管理(停止/重启)和其他构建选项。
有人有更好的解决方案吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。