Python VS代码具有一个顶级git repo的多根工作区

Python VS代码具有一个顶级git repo的多根工作区,python,git,visual-studio-code,google-cloud-functions,virtualenv,Python,Git,Visual Studio Code,Google Cloud Functions,Virtualenv,我正在从事一个需要多个谷歌云的项目。每个云函数都有自己的virtualenv,因为每个函数都有自己的Python依赖项。所有云函数都是相关的,因此我将包含云函数代码的每个文件夹添加到单个(多根)VSCode工作区。我想把所有云函数的代码放在同一个Git repo中,因为它们是相关的,并且可以一起工作。因此,我的.git文件夹位于我的多根工作区的顶部。我的文件夹结构如下所示: . ├── .git ├── .gitignore ├── .pylintrc ├── .pytest_cache ├──

我正在从事一个需要多个谷歌云的项目。每个云函数都有自己的virtualenv,因为每个函数都有自己的Python依赖项。所有云函数都是相关的,因此我将包含云函数代码的每个文件夹添加到单个(多根)VSCode工作区。我想把所有云函数的代码放在同一个Git repo中,因为它们是相关的,并且可以一起工作。因此,我的.git文件夹位于我的多根工作区的顶部。我的文件夹结构如下所示:

.
├── .git
├── .gitignore
├── .pylintrc
├── .pytest_cache
├── .vscode
│   └── settings.json
├── func-a
│   ├── .vscode
│   │   ├── launch.json
│   │   └── settings.json
│   ├── main.py
│   ├── requirements.txt
│   ├── schema.json
│   └── service-account.json
├── project.code-workspace
└── func-b
    ├── .pytest_cache
    ├── .vscode
    │   ├── launch.json
    │   └── settings.json
    ├── main.py
    ├── requirements.txt
    ├── service-account.json
    └── test_local.py
我的问题是,我无法在VS代码中查看(并因此编辑)该.gitignore文件,因为VS代码不允许将单个文件添加到工作区(仅文件夹)。相反,如果我尝试将整个折叠(包含func-a和func-b)添加到工作区,那么我会遇到无法为每个云函数设置不同的解释器(virtualenvs)的问题,相反,VS代码似乎迫使我对整个工作区使用相同的Python解释器


有没有更好的方法来完成我想做的事情?

您可以简单地定义两个工作区,每个项目一个,每个工作区使用(或)在自己的Git工作树中签出:

其想法是通过以下方式稀疏地签出回购:

  • .gitignore
    和您需要的任何其他文件
  • 只有所需的
    func-x
    文件夹
然后,可以为第一次稀疏签出定义VSCode工作区


对第二个项目重复这个过程。

这就是我最终要做的,以便更好地与十二要素应用程序最佳实践保持一致。