go - 使用带有 gb 的本地包

标签 go

我正在开始一个新项目并考虑将 gb 作为我的构建工具,但它似乎并没有很好地与 vscode 集成...

我已经使用 gb vendor fetch 引用了第 3 方依赖项没有问题,但至于创建本地包,事实证明这有点棘手!我是否遗漏了一些明显的东西?

这是我的本地 src 目录:

src
    /cmd
        /model
            calc.go
        /server
            server.go

下面的代码成功编译并创建了一个 bin\server.exe 文件,但是导入路径没有被拾取,gocode 也没有识别它

这是服务器代码:

package main

import (
    "cmd/model" // not a happy reference...
    "fmt"
)

func main() {
    fmt.Println(model.Add(1, 2))
}

模型代码如下:

package model

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

我在 Github (https://github.com/joefitzgerald/go-plus/issues/325) 上发现了类似的问题,虽然 nsf 的解决方案解决了自动完成(导入后)问题,但导入语句本身仍然声称在 GOROOT 和 GOPATH 中搜索。

有什么想法吗?

最佳答案

感谢 lukehoban 的回答 https://github.com/Microsoft/vscode-go/issues/249我能够让我的环境正常工作。

我只是在 .vscode 目录(现在必须 checkin )下创建了一个 settings.json 文件,我已将其配置到其中:

{
    "go.gopath": "${workspaceRoot}"
}

这让我觉得不干净,它仍然没有提供一种方法来同时引用第 3 方依赖项和本地包...

关于go - 使用带有 gb 的本地包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42353270/

相关文章:

json - Go GraphQL客户端应用于“hello world” GraphQL服务器:“hello”的结构字段在任何要解码的地方都不存在”

mysql - 批量 MySQL 插入比 PHP 慢 2 倍

go - 在golang中将字符串转换为整数数组

go - 按标签查找字段

sql - 如何避免可空 JSON 列上的​​扫描对 : <nil> *json. RawMessage 错误?

go - 什么是 golang 相当于 PHP/Ruby 的 unpack ("C*", . )?

function - 带接口(interface)的函数可以作为参数传递吗?

go - 试图了解 golang chan 导致崩溃或做其他事情

Go 中的 php json_encode

go - 使用重复的 JSON 映射将 JSON 反序列化为结构