Gorename无法正常工作:“重命名失败:gorename:找不到包含的软件包”

Hum*_*ume 6 go visual-studio-code

尝试更改符号时,VSCode会引发以下错误:

“重命名失败:gorename:找不到包含/home/hume/projects/go/main.go的软件包”

vscode 1.22.2 x64

go版本go1.10.1 linux / amd64

转到环境GOPATH / home / hume / projects / go

settings.json的如下:

{
      "go.toolsGopath": "/home/hume/gotools"
    , "go.autocompleteUnimportedPackages": true
    , "go.inferGopath": true
    , "go.formatTool": "gofmt"
    , "go.vetFlags": [
        "/src"
       ]
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

ilt*_*mpo 10

您可以切换到使用gpls,官方 Go 语言服务器。除了其他特色重命名符号之外,无论任何包结构如何,都可以完美地工作。

在 VSC 中打开首选项、设置,然后激活go.useLanguageServer. 安装gpls 后,您就可以开始使用了。


Abd*_*lah 0

VSCode 使用gorename命令行工具进行重命名。该工具假设您遵循正确的包结构,但它无法找到它。在中创建一个src目录%GOPATH%,即创建目录/home/hume/projects/go/src。创建另一个目录作为src包目录并放入main.go包目录中。您需要在 处添加包声明main.go。那么问题就解决了。