【问题标题】:Golang plugin on Intellij. Library and break pointsIntellij 上的 Golang 插件。库和断点
【发布时间】:2017-05-11 02:19:35
【问题描述】:

我在 Go 上编写代码。我在 Idea Intellij 中使用 golang 插件构建我的项目。我有一个主包。在 main 中导入不同的包。

import (
    "RF"
    "flag"
    "io"
    "net/http"
    "os"
    "runtime"
    "depot"
    "info"
    "logger"
    "logic"
    "poly"
    "ranker"
    "revgeocoder"
    "search"
    "search/engine"
    "stat"
    "views"
    "fmt"
)

如果我在$GOPATH 中编写路径,这个包的链接非常好。在 Idea Intellij 中,它是这样的:

现在,我想要:

  1. 在没有警告的情况下构建我的项目
  2. 调试我的项目

第一点。我做了一个“构建”,然后:“未指定包”

如果我写信给包名main,警告不会消失:

我能做什么?


第二点。组装成功。在我可以调试的那部分包之后,我无法调试另一个包。例如包engine我可以调试。这个包的路径:

/home/INT.PV.KM/urvanov/hedgehogues/distr/mapsfullsearch/src/search/engine/engine.go

下一个文件我无法调试。

/home/INT.PV.KM/urvanov/hedgehogues/distr/mapsfullsearch/src/search/context.go

我无法在此文件中设置断点:

请帮我解决我的问题。

【问题讨论】:

  • 我正在尝试下一个 LiteIDEhere
  • 只是为了确保您不会错过它:Jetbrains 的团队正在自己实现一个名为 Gogland 的 Go IDE。它看起来很有希望。据我所知,它目前仍处于封闭测试阶段。请查看jetbrains.com/go 了解更多信息。

标签: go intellij-idea plugins jetbrains-ide


【解决方案1】:

第一个问题的答案

Go 中的任何项目都由包组成。除了包裹,什么都没有。所有包都位于同一目录下,其中一个是项目。其他目录是库。他们通过环境变量$GOPATH 设置。 IDEA IntelliJ 让它成为:

文件->设置:

Go 中有两种类型的库:全局库和本地库。你读到了这个here

在构建时有必要指定我们要收集哪个包并排列所有依赖项本身。在我的项目中,有 n 个数据包。例如,我可以构建 mapsfullsearch 包。我可以构建 mfsimporter 包。或者我可以构建任何其他的,其中有func main () {/*...*/}。构建只需指定适当的配置。

之后,所有 Imports(如果存在相关包)都已解决。

关于配置。转到运行 -> 编辑配置...

名称:编译文件的名称。 运行类型:构建的类型(文件或包)。 包:包名与main()所在目录的名称相匹配。 IDEA IntelliJ 中有下拉列表。看来,如果你开始写他的名字。 输出目录:二进制文件所在的目录。 环境:环境变量 Go Tool 参数:编译器的参数 程序参数:程序的参数

有关配置的更多信息可以阅读here

第二个问题的答案

可能在IDEA 中指定不好的文件路径。在这种情况下,我在她的问题中提到,问题与通过主目录指定库的路径这一事实有关,主目录由~ 表示。 IDEA 不感知这种格式。重复这个问题我没有成功。虽然直到我将项目放入根文件系统之前,我的项目都没有工作。

【讨论】:

    【解决方案2】:
    • 在没有警告的情况下构建我的项目 -> 您需要使用完整的包名(例如,对于 GOPATH /home/florin/go 和完整路径 $GOPATH/src/github.com/dlsniper/demo 下的包,您需要使用“github.com/dlsniper/demo”。或者,您可以使用Run Kind 目录并将其指向该目录,或者只需使用func main 附近的绿色箭头,单击它,选择Run ...,然后选择Go Application

    • 调试我的项目-> 一旦你得到Go Application 类型的Run Configuration 来运行应用程序,然后调试它,你只需要使用调试选项而不是运行。或者,您可以单击func main 附近的绿色箭头并选择Debug... 来调试您的应用程序。

    【讨论】:

    • 第二个呢?
    猜你喜欢
    • 1970-01-01
    • 2019-11-03
    • 2012-06-27
    • 2023-04-11
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多