vim-go 项目中的 GoDef 不起作用

问题描述 投票:0回答:1

当我将光标移动到项目中的函数或变量上并运行

:GoDef
命令时,什么也没有发生。

项目有37000行代码。 这个问题并不是每个项目目录都存在!

将光标移动到

dto.PaginationRequest
上并运行
:GoDef
,期望将光标移动到
PaginationRequest
的定义,但运行
:GoDef
时没有任何反应。

package controller
...
func (c *sessionController) GetAllSession(ctx *gin.Context) {
    var req dto.PaginationRequest
    if err := ctx.ShouldBind(&req); err != nil {
        res := utils.BuildResponseFailed(dto.MESSAGE_FAILED_GET_DATA_FROM_BODY, err.Error(), nil)
        ctx.AbortWithStatusJSON(http.StatusBadRequest, res)
        return
    }
    ...
}
...

PaginationRequest 的定义

package dto
type PaginationRequest struct {
    Page    int    `json:"page" form:"page" binding:"-"`
    Search  string `json:"search" form:"search" binding:"-"`
    PerPage int    `json:"per_page" form:"per_page" binding:"-"`
}

项目目录:

.
├── Dockerfile
├── controller
│   ├── coupon-controller.go
│   └── session-controller.go
├── dto
│   ├── coupon-dto.go
│   ├── pagination.go
│   └── session-dto.go
...
└── main.go
vim vim-go
1个回答
0
投票

我刚刚使用以下命令更新了

gopls
并修复了该问题:)

go install golang.org/x/tools/gopls@latest
© www.soinside.com 2019 - 2024. All rights reserved.