vscode 中的 Golang:自动导入包

gue*_*tli 1 go visual-studio-code auto-import

想象一下我想使用strconv.Atoi,但我很懒,想自动导入它。

package main

import (
    "fmt"
)


func main() {
    i, _ := Atoi|("123")
    fmt.Println(i)
}
Run Code Online (Sandbox Code Playgroud)

管道符号 (|) 显示我的光标所在位置

在 PyCharm 中,我能够通过 alt+ENTER 自动导入匹配函数。

有没有一种方法可以将 vscode 将上面的代码更改为以下代码:

package main

import (
    "fmt"
    "strconv"
)


func main() {
    i, _ := strconv.Atoi("123")
    fmt.Println(i)
}
Run Code Online (Sandbox Code Playgroud)

icz*_*cza 6

VSCode 不会猜测Atoi()来自哪个包,但如果你告诉它,导入将自动添加。

所以只需输入

i, _ := strconv.Atoi("123")
Run Code Online (Sandbox Code Playgroud)

然后按CTRL+S保存,导入将自动添加。

您还可以按CTRL+ ALT+ O,这是组织导入的快捷方式。

这是 Go 中的合理妥协。作为 API 设计的一部分,创建了可以与包名称很好地读取的导出标识符。例如,创建 MD5 哈希器的构造函数是md5.New()(而不是例如md5.NewMD5()),创建 SHA1 哈希器的构造函数是sha1.New()。仅输入New()它通常过于冗长,并且需要提供包名称才能为您所引用的内容提供上下文。