【问题标题】:gocode external package give no suggestion for vscodegocode 外部包对 vscode 没有任何建议
【发布时间】:2019-04-18 12:44:10
【问题描述】:

从这里的 Visual Studio Code 的 Go 扩展升级后,我的自动完成/智能感知停止工作:https://github.com/microsoft/vscode-go

我在那里打开了一个问题,但我认为这可能与 gocode 有关。

我正在运行 Windows 10、Go 版本 1.5.1、Visual Studio Code 0.10.5 和 Go 扩展 0.6.21。在更新之前工作正常,我使用的是 Go 扩展 0.6.17。

问题是建议/智能感知适用于内部包,但我在编写时不再提供建议的每个外部包。或 ctrl+空格。即使是 net/http 或 core Go 包也不起作用。

我想自己尝试运行 gocode 以查看它实际返回的内容,因此我查看了扩展程序的代码,它正在执行一个类似于 gocode -f=json autocomplete filename offset 的子进程。

不太确定如何获得offset 或它代表什么,触发自动完成的位置字节数?无论如何,当我运行它时,我没有输出,也没有返回到提示符,我必须按 CTRL+C 才能返回。

我在 Google 上也找不到任何有趣的东西,可能是搜索错误或不知道要搜索什么。

有人有想法吗,运行 gocode 的目标是查看 gocode 是否实际上返回了对外部包的建议,如果是,则扩展名有问题。

如果 gocode 没有返回任何东西,那么这意味着它现在不能正常工作,我能做些什么吗?

谢谢

编辑 1:从gocode 跟随kostya answer 记录

2015/12/23 07:26:11 Import path "github.com/gocraft/web" was not resolved 2015/12/23 07:26:11 Gocode's build context is: 2015/12/23 07:26:11 GOROOT: c:\go 2015/12/23 07:26:11 GOPATH: 2015/12/23 07:26:11 GOOS: windows 2015/12/23 07:26:11 GOARCH: amd64 2015/12/23 07:26:11 GBProjectRoot: "" 2015/12/23 07:26:11 lib-path: ""

似乎我的 GOPATH 变量没有被评估,但它已设置,当我运行 echo %GOPATH% 时,我收到了正确的值。

【问题讨论】:

  • 你引用的gocode日志在哪里?

标签: go autocomplete visual-studio-code


【解决方案1】:

尝试在控制台中运行 gocode 服务器进程并观察输出:

gocode close
gocode -debug -s

确保您运行的是最新版本的 gocode:

go get -u github.com/mdempsky/gocode

您可能希望运行以下命令来构建 gocode(尽管我相信您将无法使用我在这种情况下建议的调试方法):

go get -u -ldflags -H=windowsgui github.com/mdempsky/gocode

https://github.com/mdempsky/gocode建议的那样

【讨论】:

  • 谢谢@kostya,似乎我的GOPATH 没有设置,但是当我运行echo %GOPATH% 时,知道为什么会这样吗?
  • 我刚刚在 gocode 项目中看到了您的问题。可能是 VS 插件中的错误。我不使用它,所以很遗憾无法帮助您。
  • 我在扩展上找到了问题,并将其发布到 vscode 扩展 GitHub 问题。如果有人有这个错误,我现在在本地修复它:github.com/Microsoft/vscode-go/issues/167
  • Boom,谢谢,运行了上面的前 3 行,然后又开始工作了。
  • github.com/nsf/gocode 存储库不再维护。现在推荐的版本是github.com/mdempsky/gocode
猜你喜欢
  • 2021-05-29
  • 1970-01-01
  • 2018-05-14
  • 2017-09-14
  • 2021-02-05
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多