Intellij 上的 Golang 插件。库和断点
Golang plugin on Intellij. Library and break points
我在 Go 上编写代码。我使用 golang 插件在 Idea Intellij 中构建我的项目。我有一个主要的包。在主要导入不同的包。
import (
"RF"
"flag"
"io"
"net/http"
"os"
"runtime"
"depot"
"info"
"logger"
"logic"
"poly"
"ranker"
"revgeocoder"
"search"
"search/engine"
"stat"
"views"
"fmt"
)
如果我在 $GOPATH
中编写路径,这个包链接得很好。在 Idea Intellij 中,它是这样的:
现在,我想要:
- 在没有警告的情况下构建我的项目
- 正在调试我的项目
第一点。我做了一个 'build' 并且比我有:"Package is not specified"
如果我写入包名称 main
,则警告不会消失:
我能做什么?
第二点。组装成功。在我可以调试的那部分包之后,另一个我无法调试的包。例如 package 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
我无法在此文件中设置断点:
请帮我解决我的问题。
- 在没有警告的情况下构建我的项目 -> 您需要使用完整的包名称(例如,您需要使用 "github.com/dlsniper/demo" 作为 GOPATH
/home/florin/go
下的包和完整路径 $GOPATH/src/github.com/dlsniper/demo
。或者,您可以使用 Run Kind
目录并将其指向该目录,或者只需使用 func main
附近的绿色箭头,单击它,select Run ...
和然后 select Go Application
- 调试我的项目 -> 一旦你将
Go Application
类型的 Run Configuration
应用到 运行 应用程序然后调试它你只需要使用 Debug 选项而不是运行。或者,您可以单击 func main
附近的绿色箭头并选择 Debug...
来调试您的应用程序。
第一个问题的答案
Go 中的任何项目都由包组成。除了包裹什么都没有。所有包都位于同一目录中,其中一个是项目。其他目录是库。他们通过环境变量 $GOPATH
设置。 IDEA IntelliJ 让其成为:
文件->设置:
Go 中有两种类型的库:全局库和局部库。您阅读了这个 here。
在构建时,有必要指定我们要收集的包并自行排列所有依赖项。在我的项目中,有 n 个数据包。例如,我可以构建 mapsfullsearch 包。我可以构建 mfsimporter 包。或者我可以构建任何其他的,其中有 func main () {/*...*/}
。要构建只需指定适当的配置。
之后,解决所有导入(如果存在相关包)。
关于配置。转到 运行 -> 编辑配置...
名称:编译文件的名称。
运行 kind:构建的类型(文件或包)。
Package:包名与所在目录名称相匹配main()
。 IDEA IntelliJ 中有下拉列表。看来,如果你开始写他的名字。
输出目录:二进制文件所在的目录。
环境:环境变量
Go Tool arguments:编译器的参数
程序参数:程序参数
有关配置的更多信息,请阅读here。
第二题答案
在IDEA中可能指定的文件路径不当。在那种情况下,我在她的问题中提到,问题与库的路径是通过主目录指定的事实有关,主目录由 ~
表示。 IDEA 不理解这种格式。重复这个问题我没有成功。虽然直到我将项目放入根文件系统之前,我的项目都没有运行。
我在 Go 上编写代码。我使用 golang 插件在 Idea Intellij 中构建我的项目。我有一个主要的包。在主要导入不同的包。
import (
"RF"
"flag"
"io"
"net/http"
"os"
"runtime"
"depot"
"info"
"logger"
"logic"
"poly"
"ranker"
"revgeocoder"
"search"
"search/engine"
"stat"
"views"
"fmt"
)
如果我在 $GOPATH
中编写路径,这个包链接得很好。在 Idea Intellij 中,它是这样的:
现在,我想要:
- 在没有警告的情况下构建我的项目
- 正在调试我的项目
第一点。我做了一个 'build' 并且比我有:"Package is not specified"
如果我写入包名称 main
,则警告不会消失:
我能做什么?
第二点。组装成功。在我可以调试的那部分包之后,另一个我无法调试的包。例如 package 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
我无法在此文件中设置断点:
请帮我解决我的问题。
- 在没有警告的情况下构建我的项目 -> 您需要使用完整的包名称(例如,您需要使用 "github.com/dlsniper/demo" 作为 GOPATH
/home/florin/go
下的包和完整路径$GOPATH/src/github.com/dlsniper/demo
。或者,您可以使用Run Kind
目录并将其指向该目录,或者只需使用func main
附近的绿色箭头,单击它,selectRun ...
和然后 selectGo Application
- 调试我的项目 -> 一旦你将
Go Application
类型的Run Configuration
应用到 运行 应用程序然后调试它你只需要使用 Debug 选项而不是运行。或者,您可以单击func main
附近的绿色箭头并选择Debug...
来调试您的应用程序。
第一个问题的答案
Go 中的任何项目都由包组成。除了包裹什么都没有。所有包都位于同一目录中,其中一个是项目。其他目录是库。他们通过环境变量 $GOPATH
设置。 IDEA IntelliJ 让其成为:
文件->设置:
Go 中有两种类型的库:全局库和局部库。您阅读了这个 here。
在构建时,有必要指定我们要收集的包并自行排列所有依赖项。在我的项目中,有 n 个数据包。例如,我可以构建 mapsfullsearch 包。我可以构建 mfsimporter 包。或者我可以构建任何其他的,其中有 func main () {/*...*/}
。要构建只需指定适当的配置。
之后,解决所有导入(如果存在相关包)。
关于配置。转到 运行 -> 编辑配置...
名称:编译文件的名称。
运行 kind:构建的类型(文件或包)。
Package:包名与所在目录名称相匹配main()
。 IDEA IntelliJ 中有下拉列表。看来,如果你开始写他的名字。
输出目录:二进制文件所在的目录。
环境:环境变量
Go Tool arguments:编译器的参数
程序参数:程序参数
有关配置的更多信息,请阅读here。
第二题答案
在IDEA中可能指定的文件路径不当。在那种情况下,我在她的问题中提到,问题与库的路径是通过主目录指定的事实有关,主目录由 ~
表示。 IDEA 不理解这种格式。重复这个问题我没有成功。虽然直到我将项目放入根文件系统之前,我的项目都没有运行。