我正在一个需要多个Google Cloud Functions的项目中。每个Cloud Function都有自己的virtualenv,因为每个都有自己的Python依赖项。所有云功能都相关,因此我已将包含云功能代码的每个文件夹添加到单个(多根)VSCode工作空间。我想将所有云功能的代码放在同一个Git存储库中,因为它们是相关的并且可以一起工作。因此,我的.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 Code中看到(并因此编辑).gitignore文件,因为VS Code不允许您将单个文件添加到工作区(仅文件夹)。相反,如果我尝试将整个折叠(包含func-a和func-b)添加到工作区中,则会遇到无法为每个Cloud Function设置不同的解释器(virtualenvs)的问题,而VS代码似乎迫使我对整个工作区使用相同的Python解释器。
有没有更好的方法来做我想做的事情?
您可以简单地定义两个工作区,每个工作区一个,使用git sparse-checkout
(或更经典的.git/info/sparse-checkout
)在各自的Git工作树中检出每个工作区:
这个想法是用以下方法稀疏地签出仓库:
.gitignore
你需要的任何其他文件func-x
你想要的文件夹然后,您可以为该第一次稀疏签出定义VSCode工作空间。
对第二个项目重复该过程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句