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

如果我在$GOPATH中编写路径,则此程序包链接得很好。在Idea Intellij中,它采用以下方式:

Path to packages

现在,我要:

  • 在没有警告的情况下构建我的项目
  • 调试我的项目
  • 第一点。我进行了一次"构建",然后得到:"未指定包装"

    Package is not specified

    如果我写程序包名称main,则警告不会消失:

    Cannot find package <x1>

    我可以做什么?

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

    我无法调试的下一个文件。

    Tree of catalog

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

    Break point

    请帮我解决我的问题。


    第一个问题的答案

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

    文件->设置:

    Outer packages

    Go中有两种类型的库:全局和本地。您在这里阅读了有关此内容。

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

    之后,解决所有导入(如果存在相关软件包)的问题。

    Struct of my project

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

    Settings of configurations

    名称:已编译文件的名称。
    运行种类:建筑物的类型(文件或包)。
    软件包:与main()所在目录的名称匹配的软件包名称。 IDEA IntelliJ中有下拉列表。如果您开始写他的名字,它就会出现。
    输出目录:二进制文件所在的目录。
    环境:环境变量
    Go工具参数:编译器的参数
    程序参数:程序的参数

    有关配置的更多信息,请参见此处。

    第二个问题的答案

    在IDEA中可能没有正确指定文件路径。在那种情况下(我在她的问题中提到过),该问题与以下事实有关:通过主目录指定了库的路径,该目录由~表示。 IDEA无法识别这种格式。重复这个问题,我没有成功。尽管直到我将项目放入根文件系统之前,我的项目都无法正常工作。


    • 在没有警告的情况下构建我的项目->您需要使用完整的软件包名称(例如,对于GOPATH /home/florin/go和完整路径$GOPATH/src/github.com/dlsniper/demo下的软件包,您需要使用" github.com/dlsniper/demo"。或者,可以使用Run Kind目录并将其指向目录,或者只是使用func main附近的绿色箭头,单击它,选择Run ...,然后选择Go Application
    • 调试我的项目->一旦获得类型为Go ApplicationRun Configuration来运行该应用程序,然后对其进行调试,则只需使用Debug选项而不是Run。或者,您可以单击func main附近的绿色箭头,然后选择Debug...来调试应用程序。