如何在Visual Studio Code VS上同时修改多个go / golang项目?

我同时在多个go / golang项目中工作,所有这些项目均在github上进行了版本控制。 我正在使用Visual Studio Code作为IDE。 为此,我将项目克隆到同一文件夹中,并在Visual Studio Code中将其打开。 例如,我必须对依赖于项目B的项目A(均来自同一组织)进行修改,但是这种修改也意味着要修改项目B。 然后从项目AI上的任何go源文件访问B上的代码,但Visual Studio Code从主文件夹(即/go/pkg/mod/github.com/organization/goproject/core/)显示存储在go文件夹中的A上的代码。 ..)。 是否有任何形式可以引用我克隆的源代码,而不是go文件夹中的源代码?</ p>
</ div>

展开原文

原文

I'm working in multiple go/golang project at same time all of them versioned on github. I'm using Visual Studio Code as IDE. For this, I've clone the projects on the same folder and I've opened it on Visual Studio Code. I have to do a modification, for example, in the project A that depends of the project B (both from the same organization), however this modification implies to modify project B too. Then from any go source file on project A I access to code on B but Visual Studio Code shows the code on A stored in go folder from home folder (i.e. /go/pkg/mod/github.com/organization/goproject/core/...). Is there any form to refer to the source code that I've cloned instead of the source code in go folder?

dongtan7351
dongtan7351 快速提问。这些“项目”真的需要单独的github存储库吗?它们是否具有足够不同的功能来构成分隔?考虑到您说如果A被修改,这意味着B也必须被修改,我没有考虑(但很可能是错误的)。背景信息:当我开始将成熟的产品分解为更易于管理的产品时,我考虑了多个存储库,但事实证明,真正需要的是在一个存储库中只有多个文件夹和软件包。此仓库有一个裸露的基本目录和两个依赖于同一代码的相关可构建应用程序。
接近 2 年之前 回复
dongyixiu3110
dongyixiu3110 请提供一个最小,完整,可验证的示例。就目前而言,这个问题实质上是“我如何使用gitrepos?”对于堆栈溢出,这不是一个适当的问题。
接近 2 年之前 回复

1个回答



克隆存储库 TO </ strong>正确的 go / src / github.com / ... < / code> $ GOPATH中的路径,并将导入内容更改为此类。 点,你正在使用这些文件夹的任何VCS软件和维护$ GOPATH,他们都应该是内回购。 再有就是没有保留两个副本,只有一个。 您的IDE会确切地知道要去哪里,因为它全都在一个地方。</ p>

这是假定</ em>起作用的方式。 在Go中,您不会将项目文件夹保留在$ GOPATH之外,而是将其放在应该放在内部</ em>的位置。 这是一种不同的项目文件夹系统,但是Go是按这种方式设计的,因此即使一开始有点令人困惑,最好还是遵循该范例。</ p>
</ div>

展开原文

原文

Clone your repositories TO the correct go/src/github.com/... path in your $GOPATH and change your imports to such. Point whatever VCS software you are using to these folders and maintain the repos inside your $GOPATH where they are supposed to be. Then there isn't two copies being maintained, just one. Your IDE will know exactly where to go because it's all in one place.

This is the way $GOPATH is supposed to work. In Go, you don't keep your project folder outside of the $GOPATH, you put it where it's supposed to go inside it. It's a different sort of project foldering system, but Go was designed this way, so it's best to just follow the paradigm even though it's a little confusing at first.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐