首页 > 后端开发 > Golang > 正文

如何配置 vscode 以显示 go 中不必要的(过度指定的)泛型?

PHPz
发布: 2024-02-13 10:50:09
转载
640 人浏览过

如何配置 vscode 以显示 go 中不必要的(过度指定的)泛型?

php小编百草为您介绍如何配置VSCode以显示Go中不必要的泛型。随着Go语言的发展,泛型成为了开发者们关注的焦点。然而,在编码过程中,有时我们会过度指定泛型,导致代码冗长且难以维护。为了解决这个问题,VSCode提供了一些配置选项,可以帮助我们在编辑器中显示不必要的泛型,使代码更加简洁和易读。下面将为您详细介绍如何配置VSCode以显示不必要的泛型,让您的Go开发更加高效和便捷。

问题内容

在下面的代码中

package main

import "fmt"

func test[A, B any](a A, b B) {
    fmt.Printf("a: %v, b: %v", a, b)
}

func main() {
    test[string, int]("test", 1)
}

登录后复制

调用测试方法时的显式类型规范是不必要的并且过度指定。调用 test("test", 1") 就足够了,因为可以从参数推断出类型。

是否可以配置 VSCode 来指示这一点?或者有没有一个 linter 可以报告这个问题? 我不知何故记得我曾看到 VSCode 将不必要的类型规范显示为灰色文本,但要么我搞乱了我的配置,要么这个功能消失了。

这对于更高级的情况非常有帮助,特别是因为 go 中的类型推断正在稳步改进,并且为较旧的 go 版本编写的代码可能会得到简化。

根据文档设置

    "gopls": {
        "ui.diagnostic.analyses": {
            "infertypeargs": true
        }
    }
登录后复制

应该会导致未使用类型的视觉指示。但这对我来说并没有出现。

解决方法

目前,此分析器只能通过不必要的类型参数内的代码操作使用:

x/tools/gopls:infertypeargs 不再生成诊断信息 #63821 正在跟踪缺乏诊断消息。此问题解决后,诊断消息应重新出现在 VS Code 中。

infertypeargs 默认情况下处于启用状态,因此不需要进行配置。

以上是如何配置 vscode 以显示 go 中不必要的(过度指定的)泛型?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!