【问题标题】:Unable to debug Go applications in IntelliJ无法在 IntelliJ 中调试 Go 应用程序
【发布时间】:2019-07-25 12:44:40
【问题描述】:

我无法在 IntelliJ Idea 中使用 IDE 中的绿色“播放”按钮运行 Go 测试。

我的绝大多数 Go 开发都在 $GOPATH 之外,但我所有的环境变量都设置正确,所以这从来都不是问题。

我在我的桌面目录中创建了一个虚拟项目,具有以下结构...

.
├── main.go
├── main_test.go

main.go:

package main

func Add(a, b int) int {
    return a+b
}

main_test.go

package main

import "testing"

func TestAdd(t *testing.T) {
    res := Add(1, 2)

    if res != 3 {
        t.Errorf("Fail")
    }
}

我可以从命令行 (go test .) 正常运行测试,并且可以在 IDE 中正常使用 VSCodes run test 按钮,但是当我尝试 IntelliJ 中的“播放”按钮时,我得到 ./main_test.go:6:9: undefined: Add

根据this IntelliJ 支持问题,我已确保我的 Go Test 模板设置为“目录”,但我似乎无法让它工作,因为它每次设置为文件时都会重新创建一个新配置.

任何帮助表示赞赏...

编辑 1: 我刚刚从 VScode 转到 IntelliJ,这就是我上面所说的“所以这从来不是问题”的意思。自从我几天前下载它以来,它在 IntelliJ 中一直不起作用。

【问题讨论】:

  • 包应该有main()函数。
  • 我在 IntelliJ 中找不到项目的流出,所以我尝试使用 goland。现在我可以看到整个流程并调试,编译我的项目。
  • @SimoEndre - 是的,应该。但这只是一个虚拟项目,显示它无法从测试文件中找到“添加”功能的问题。
  • @VrushaliRaut - 不幸的是,Goland 不是一个选项。我有一个 Idea 许可证,而不是 Goland 许可证。
  • 你为什么不用goland?那是为 go 制作的 intellij ide,我不确定 intellij 的 go 插件是否是最新的

标签: debugging go intellij-idea visual-studio-code


【解决方案1】:

可能是$GOPATH有问题。

正确的 GOPATH 项目。

$GOPATH/src/hello/main.go
$GOPATH/src/hello/main_test.go

但 GOPATH 项目不正确。

/hello/main.go
/hello/main_test.go

【讨论】:

  • 我的项目不在$GOPATH
  • 必须是 $GOPATH 中的项目文件夹。文档是github.com/golang/go/wiki/SettingGOPATH
  • 我的$GOPATH 已设置,但项目不必在$GOPATH 中。如果这是问题所在,那么 VSCode 将无法正常工作;命令行也不会......
  • 这是 GOPATH 问题。由于包没有导入路径,GoLand 假设它对这个包一无所知,并且不编译给定函数周围的所有文件。正如我在问题 (youtrack.jetbrains.com/issue/GO-7013) 中所说,我们不想鼓励用户使用非推荐的项目布局。
猜你喜欢
  • 2017-12-04
  • 2011-11-02
  • 1970-01-01
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
相关资源
最近更新 更多