【问题标题】:Valid methods in being highlighted in red 'Unresolved Reference'以红色“未解决的参考”突出显示的有效方法
【发布时间】:2017-07-05 09:03:24
【问题描述】:

如何解决这个问题?该程序有效。但是 Gogland 中的方法以红色突出显示。新增 Qt 5.8 版。

Gogland (1.0 Preview) 1.0 EAP
Build #GO-171.4694.61, built on June 27, 2017
Gogland EAP User
Expiration date: September 25, 2017
JRE: 1.8.0_112-release-736-b21 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.8.0-58-generic


batis@dev:~$ printenv | grep GO
GOROOT=/usr/lib/go-1.8/
GOPATH=/home/batis/gocode/

package main

import (
    "os"
    "github.com/therecipe/qt/widgets"
)

func main() {
    widgets.NewQApplication(len(os.Args), os.Args)

    //create a window
    window := widgets.NewQMainWindow(nil, 0)

    ......

    widgets.QApplication_Exec()
}

【问题讨论】:

  • C++有什么关系?
  • GOPATH 似乎配置不正确,并且项目似乎位于错误的位置。项目 GOPATH 应该被删除,项目应该在 /home/batis/gocode/src/your/project/path 下创建。然后,确保您在 /home/batis/gocode/src/github.com/therecipe/qt 下有依赖项
  • @dlsniper 将项目移动到 /home/batis/gocode/src/batis/Qt。问题依然存在。请告诉我如何检查依赖项。
  • 项目 GOPATH 已删除。

标签: qt go jetbrains-ide goland


【解决方案1】:

对我来说,上述解决方案均无效。最后,我可以通过启用 Preferences > Go > Go Modules 下的“Enable Go Modules Integration”复选框来解决它。

【讨论】:

  • 这对我也有用!
【解决方案2】:

这些方法是在一个没有被 Gogland 索引的大文件中定义的。要更改限制,您应该更改idea.max.intellisense.filesize

为此,请通过Help | Edit Custom Properties 菜单打开自定义属性文件并添加如下内容:idea.max.intellisense.filesize=4500 限制为 4.5 MB。大小以千字节为单位。

请谨慎使用,索引大文件可能会显着影响索引更新速度。

【讨论】:

    【解决方案3】:

    最近在 'bitbucket.org' GOPATH 中的一个项目中遇到了这个问题,但在 'github.com' 中没有找到。检查“索引整个 GOPATH”框并修复它。

    此选项位于:文件 > 设置(首选项)> 转到 > GOPATH

    【讨论】:

    • 更新到 2020.1 后这把我整理出来了。
    • 该选项位于:文件>设置(首选项)>转到> GOPATH
    • 这最终对我有用,尽管我不得不重新启动 Goland
    【解决方案4】:

    可能对原始上下文无效,但我发现的解决方法是重命名定义方法或其他标识符的文件,允许 Goland 重新索引,然后将其重命名回原始名称。

    【讨论】:

    • 如果 100 个文件出现这种情况怎么办?
    • 在尝试其他途径后,这是唯一对我有用的方法。重启也没有用。
    • 我试过这个,我重命名了文件(首先它要求我确认,因为文件来自项目外部),它工作。然后我尝试将其重命名为原始名称,IDE 不允许我(甚至不会显示确认提示)。但是随后“撤消”起作用了,即使直到我重新启动它才显示它起作用。非常混乱,但感谢您的建议!
    【解决方案5】:

    我遇到了同样的问题,这对我有用:

    1. 从主菜单中,选择文件 |使缓存无效。

    2. 在 Invalidate Caches 对话框中,您可以选择 IDE 在删除缓存文件时将执行的其他操作:

    3. 清除文件系统缓存和本地历史

    4. 单击无效并重新启动。

    【讨论】:

      【解决方案6】:

      如果 go.mod 是从另一个项目复制而没有更新项目名称,也会发生这种情况:

      // go.mod
      
      module github.com/org/new-project
      
      go 1.15
      

      【讨论】:

        【解决方案7】:

        对我来说,是我将 GOPATH 设置为 1.15 但 GOROOT 设置为 1.14,因此您需要将它们设置为相同的版本。您可以在 Preferences -> Go -> GOROOT 或 GOPATH 中找到这些设置。

        我使用 gvm - Go 版本管理器,这就是为什么我的系统中有多个 Go 版本。

        【讨论】:

          【解决方案8】:

          我在使用 go SDK 1.13 的 Windows 10 上使用 Goland 2021.1 时遇到了同样的问题。我通过将最新的 go 版本 1.16.3 并排安装到我的项目所需的版本 1.13 解决了这个问题。 事实证明,我的 Windows 10 操作系统被修补了不符合 GoLand 2021.1 和 SDK 1.13 的安全更新

          【讨论】:

            【解决方案9】:

            您需要进入“文件”并选择“启用 Go 模块集成” 设置,然后是“Go Modules”

            【讨论】:

              猜你喜欢
              • 2020-01-20
              • 1970-01-01
              • 1970-01-01
              • 2020-05-05
              • 1970-01-01
              • 1970-01-01
              • 2018-06-24
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多