在 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()
}
编译器抱怨
- 已导入但未将“gitserver/user/project/webserver”用作门户
- 未定义:网络服务器
[...]
如何解开旧名称中的“webserver”包?
重命名完成后,GoClipse 实际上不会对旧名称进行任何跟踪。根据您的描述和错误 imported and not used "gitserver/user/project/webserver" as portal
,您可能在 portal "gitserver/user/project/webserver"
某处有一条 import
行,并且可能在它使用 webserver.
的同一个文件中。仔细检查所有导入,因为这些错误听起来绝对像是重命名有点混乱(在重命名和重用旧名称时这种情况并不少见)。
Goclipse 在重命名时可能无法找到包的每一种引用;更改可能不会级联到整个项目,甚至包文件中。重命名文件夹时,请检查包文件中的 package
行是否已更改,如果没有则更新它们。
我将 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()
}
编译器抱怨
- 已导入但未将“gitserver/user/project/webserver”用作门户
- 未定义:网络服务器
[...]
如何解开旧名称中的“webserver”包?
重命名完成后,GoClipse 实际上不会对旧名称进行任何跟踪。根据您的描述和错误 imported and not used "gitserver/user/project/webserver" as portal
,您可能在 portal "gitserver/user/project/webserver"
某处有一条 import
行,并且可能在它使用 webserver.
的同一个文件中。仔细检查所有导入,因为这些错误听起来绝对像是重命名有点混乱(在重命名和重用旧名称时这种情况并不少见)。
Goclipse 在重命名时可能无法找到包的每一种引用;更改可能不会级联到整个项目,甚至包文件中。重命名文件夹时,请检查包文件中的 package
行是否已更改,如果没有则更新它们。