具有一个顶级 git 存储库的 VS Code 多根工作区
VS Code multi-root workspace with one top level git repo
我正在从事一个需要多个 Google 云 Functions 的项目。每个 Cloud Function 都有自己的 virtualenv,因为每个都有自己的 Python 依赖项。所有 Cloud Functions 都是相关的,因此我将包含 Cloud Functions 代码的每个文件夹添加到单个(多根)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 和相反,VS Code 似乎迫使我对整个工作区使用相同的 Python 解释器。
有没有更好的方法来完成我想做的事情?
您可以简单地定义两个工作区,一个用于每个项目,每个工作区使用 git sparse-checkout
(or the more classic .git/info/sparse-checkout
在自己的 Git 工作树中检出:
想法是通过以下方式稀疏地检查回购:
.gitignore
和您需要的任何其他文件
- 只有你想要的
func-x
文件夹
然后您可以为第一个稀疏结帐定义一个 VSCode 工作区。
对第二个项目重复该过程。
我正在从事一个需要多个 Google 云 Functions 的项目。每个 Cloud Function 都有自己的 virtualenv,因为每个都有自己的 Python 依赖项。所有 Cloud Functions 都是相关的,因此我将包含 Cloud Functions 代码的每个文件夹添加到单个(多根)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 和相反,VS Code 似乎迫使我对整个工作区使用相同的 Python 解释器。
有没有更好的方法来完成我想做的事情?
您可以简单地定义两个工作区,一个用于每个项目,每个工作区使用 git sparse-checkout
(or the more classic .git/info/sparse-checkout
在自己的 Git 工作树中检出:
想法是通过以下方式稀疏地检查回购:
.gitignore
和您需要的任何其他文件- 只有你想要的
func-x
文件夹
然后您可以为第一个稀疏结帐定义一个 VSCode 工作区。
对第二个项目重复该过程。