VSCODE for golang

bxpogfeg  于 12个月前  发布在  Go
关注(0)|答案(2)|浏览(182)

我一直在使用VSCode在Golang和有时GoLand试用版中进行编程。我想坚持使用VSCode,但我在VSCode中找不到下面提到的功能。有谁能告诉我这是否可能

  • 有没有办法让我有一个弹出窗口显示所有函数的列表,结构,在我打开的文件接口?
  • 有没有一种方法可以点击一个接口并看到所有实现者的列表?
  • 有没有一种方法可以点击一个结构体并查看它实现的所有接口的列表?

GoLand拥有所有这些,这就是它令人惊叹的地方。除此之外,大多数事情都是相似的。

qyzbxkaa

qyzbxkaa1#

实际上,这三件事在VS Code中也可以做到。

1.所有函数、结构、接口列表-代码大纲

有一个很棒的扩展Code Outline,它可以很好地处理Go代码。我成功地使用它,没有任何问题。

2.有没有一种方法可以点击一个接口,看看谁都实现了它?

根据VS Code文档,可以使用Ctrl+F12快捷键进行定义。在这一点上,它似乎对Go源代码工作得很好。

3.有没有办法点击一个结构体,看看它实现了哪些接口?

与上面的答案类似,根据文档,Ctrl+F12快捷键似乎在这种情况下工作得很好。
对于一个接口,它显示了该接口的所有实现,对于抽象方法,它显示了该方法的所有具体实现。

ao218c7q

ao218c7q2#

右键点击接口/结构定义,选择【转到实现】,弹出上下文窗口。
在内部,它依赖于guru,而guru已经被golang团队弃用。Guru也不支持模块。
较新的插件gopls依赖于“Language Server Protocol(LSP)”,这是由golang团队积极开发的,但我不确定它是否具有与“Go to implementations”相同的功能。

相关问题