如何强制 VSCode 要求手动选择 goimports 匹配多个具有相同名称的包?

How to force VSCode to require manual choice where goimports match multiple packages with same name?

我只是 运行 遇到了使用 Go Iris 框架编写小型 Web 服务的问题。 Iris 几乎没有用于 HTTP 请求错误处理的有用包。

也就是说,我想使用 "github.com/kataras/iris/middleware/logger""github.com/kataras/iris/middleware/recover" 但是当我开始输入时 app.Use(logger....) VSCode auto imported " github.com/hashicorp/consul/logger”这也在我的道路上。

只需复制粘贴正确的路径即可解决问题,但是有没有办法强制 VSCode 在匹配多个包名称的情况下进行手动选择,甚至在这些情况下完全禁用 goimports。

示例如下:

package main

import (
    // "github.com/hashicorp/consul/logger" ! incorrect package

    "github.com/kataras/iris"
    "github.com/kataras/iris/middleware/logger"
    "github.com/kataras/iris/middleware/recover"
)

func main() {
    app := iris.New()
    app.Logger().SetLevel("debug")
    // Optionally, add 2 built'n handlers
    // that can recover from any http-related error
    // and log the requests in terminal
    app.Use(recover.New())
    app.Use(logger.New())
}

如果您开始输入 import () 声明,它会为您提供匹配的建议。所以如果你输入 logger 它会给你这样的建议:

github.com/kataras/iris/middleware/logger

github.com/hashicorp/consul/logger

只需将 "" 放在 import 中,然后开始输入您想要的包。