登录
首页 >  Golang >  Go问答

gopls 关闭结构体自动填充

来源:stackoverflow

时间:2024-03-01 10:54:26 294浏览 收藏

golang学习网今天将给大家带来《gopls 关闭结构体自动填充》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我使用 neovim+nvim-cmp 编写了 golang 代码。语言服务器gopls总是自动用初始值填充结构。例如:

a := &mystruct{}

保存文件后,它将结构体修改为:

a := &MyStruct{
  Int1: 0,
  String2: "",
  //...
  PointerN: nil,
}

似乎只有当光标当前位于结构内部时才会执行此操作,但是仍然有办法禁用此功能吗?或者通过热键手动触发此功能?


正确答案


有一个分析器选项 fillstruct(描述为 here)会导致问题并默认启用。设置为false后问题解决:

lspconfig['gopls'].setup{
    cmd = {'gopls'},
    --...
    settings = {
        gopls = {
            analyses = {
                fillstruct = false,
            },
        },
    },
}

vscode 似乎也默认启用了此功能,如 here 所示,但它不会自动填充它。相反,它显示一个黄色灯泡,让用户点击进行填充。

今天关于《gopls 关闭结构体自动填充》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>