在VSCode中,我试图使用F2重命名变量。这似乎可以运行gorename工具,但每次都会失败,而不会出现显式错误。它只是显示:
/home/oops/dev/mtg-tracker/mtg-tracker-server/handlers>Finished running tool: /home/oops/dev/go/bin/golint
/home/oops/dev/mtg-tracker/mtg-tracker-server/handlers>Finished running tool: /usr/local/go/bin/go build -i -o /tmp/vscode-goVw9yJs/go-code-check .
/home/oops/dev/mtg-tracker/mtg-tracker-server/handlers>Finished running tool: /usr/local/go/bin/go vet ./...
Rename failed
我已经研究过类似的问题,而且通常似乎伴随着错误,例如无效的GOROOT或不正确的软件包命名,但是我在这里看不到这样的错误,而且我无法找到任何进一步的信息。 / p>
我还看到有人通过更新gorename来解决此问题,我尝试调查了该发现,但还没有弄清楚该怎么做。
预期结果:VSCode实际上重命名了我的变量。
实际结果:重命名失败,并且保持不变。
答案 0 :(得分:0)
请注意,有issue 24661专用于命令行或VSCode的用法和工具更新。
gorename
将不再受支持,因为gopls
已实现重命名功能。
请参阅issue 27571,它指向issue 32875。
同时,在等待gorename
的全面支持之前,我正在使用saibing/tools
,它确实产生了gopls
的“扩展”版本,并提供了重命名支持。
并且在VSCode中可以正常工作。
2019年第四季度更新(11月):issue 32875已关闭,gopls has released a 0.2.0,并且那些错误应该得到解决。
仍然提供完整的重命名支持:CL 194878
仍为CL 207579:此更改增加了对prepare_rename
的命令行支持。