在 git 不同分支上有不同的工作目标,应当如何对 .vscode 这种配置文件进行版本管理
例如在分支 A 上想要配置的 settings.json 中的 cmake.buildDirectory
为buildA
,分支 B 为buildB
,诸如此类的要求。
当然我们可以通过配置tasks.json来实现类似的功能,但是感觉还是有点半自动
一般的仓库会把 .vscode 放在 gitignore 中,但是这种工作配置文件确实需要随着 checkout 不同分支而发生变化,确实需要这样的版本管理功能。
- git hooks: 例如checkout,switch之后把某个 folder 的内容 copy 过来,手动版本管理
- vscode tasks: 利用tasks完成1中内容,还是在手动版本管理
一个错误的认知点就是:“开发工具产生的配置目录都需要直接忽略掉”
常见的 .idea、.vscode、.eclipse 这些目录,虽然都是开发工具产生的,但是他们其中有些配置是可以进入版本控制的。
如果你注意过 idea 的一些配置,就会发现他有些配置上面会有一个
Shared
选项,他就会生成一些文件到 .idea 目录下,除此之外还有其他的一些配置项,这些文件你是可以添加到 VCS(版本控制系统) 中去与其他的团队成员共享的。VS Code 也是同理,打开 Visual Studio Code User and Workspace Settings 的配置第二段就能看到:
换句话说,这里面部分文件就是可以放到 VCS 中去的。 打开 gitignore.io 选择 visual studio code ,就可以生成一份为 VS Code 生成的 .gitignore 文件。
其实就能看到一些
!
开头的(不排除),这些就是可以添加到版本控制里面去的所以,根据你自己的需要,把这些文件添加到 VCS 中即可。