在 goclipse 中重命名包会导致问题

Renaming package in goclipse causes problems

我将 Eclipse 用作 IDE 的 Go(我猜它叫做“Goclipse”),开发一个 Web 应用程序。一切都很顺利,直到我开始将功能拆分为更小的包。最初我有一个包裹 gitserver/user/project/portal。文件 main.go 导入了它,一切正常。我突然意识到,它应该被称为 gitserver/user/project/webserver,而其他一些文件和功能应该进入 .../portal。所以我通过右键单击 Project Explorer 来“重命名”。

main.go:

package main
import(
  "gitserver/user/project/webserver"
)

func main(){
  webserver.DoSomeStuff()
}

编译器抱怨

[...]

如何解开旧名称中的“webserver”包?

重命名完成后,GoClipse 实际上不会对旧名称进行任何跟踪。根据您的描述和错误 imported and not used "gitserver/user/project/webserver" as portal,您可能在 portal "gitserver/user/project/webserver" 某处有一条 import 行,并且可能在它使用 webserver. 的同一个文件中。仔细检查所有导入,因为这些错误听起来绝对像是重命名有点混乱(在重命名和重用旧名称时这种情况并不少见)。

Goclipse 在重命名时可能无法找到包的每一种引用;更改可能不会级联到整个项目,甚至包文件中。重命名文件夹时,请检查包文件中的 package 行是否已更改,如果没有则更新它们。