提交.vscode
文件夹中的一些文件
建议通常排除.vscode
文件夹,但保留选择的JSON文件,以允许其他开发人员接收共享设置。如果包含在内,这些设置将在文件夹级别上强制执行(每次检出提交时都会设置它们)。
要包括的设置示例:
- 特定于语言的测试配置以运行测试套件(
settings.json
)
- 扩展程序设置,用于强制执行此存储库中使用的语言规则的代码格式化工具和linter(
settings.json
)
- 运行和调试配置(
launch.json
)
- 共享任务-如果使用VS Code进行管理(
tasks.json
)
请注意,某些设置可以存储在用户设置或工作区文件中,或从.vscode
文件夹传输到其中。请参见下文。
示例.gitignore
代码
以下是在https://gitignore.io建议的设置。您可以在那里搜索"VisualStudioCode"以获取最新推荐的.gitignore
文件。我通常将此网站作为大多数新存储库的.gitignore
的起点:
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
**/.history
在上面的
.gitignore
文件中,
.vscode/*
这一行(注意:有些人争论是否应该包括
*
- 请参见评论;
.vscode/**/*
可能更好地忽略嵌套文件夹)表示要排除
.vscode
文件夹中的所有内容,但是
!.vscode/a_specific_file
行告诉git“不要”忽略该文件夹中的某些特定文件(例如
settings.json
、
launch.json
等)。最终结果是,在那些其他行中明确命名的文件之外,
.vscode
文件夹中的所有内容都被排除了。
其他因素
在您的存储库中包含.vscode
文件夹实际上不会对使用不同IDE(或文本/代码编辑器)的任何人造成伤害。
然而,如果这些文件包括需要特定于您的环境的通用设置(例如安装存储库的绝对路径),则可能会导致其他使用VS Code的人遇到问题或某些设置无法正确加载。关键是避免保存仅适用于本地环境的设置,只共享可以(或在此存储库的情况下应该)由所有人使用的设置。
例如,如果IDE设置文件具有指向存储库或任何文件/库等的绝对路径,则这是不好的,请勿共享。但是,如果所有引用都是相对的,则它们应该适用于使用存储库的任何人(尽管要注意Windows / Unix之间的路径规范差异...)。
关于用户、工作区和文件夹设置
注意:.vscode
文件夹中的设置文件通常在您更改 文件夹 版本的设置时更新,但这似乎取决于各个扩展程序的编码方式,因为我遇到了多个例外情况。
- 如果您更改了 用户 设置,则通常会将其存储在其他位置(位置取决于操作系统设置,通常位于主目录中)。
- 如果您更改了 工作区 设置,则通常会将其存储在您当前使用的
*.code-workspace
文件中。如果您没有工作区(而是直接打开了一个文件夹),那么它们可能会进入 .vscode
文件夹,但总体而言,这可能仍然取决于拥有该设置的扩展程序。
因此,您应该将个人电脑的自定义设置放入 用户 设置中,并将通用设置放入 工作区 或 文件夹 设置中。
.gitignore
目前已经将.vscode
文件夹排除在外。但由于VS Code本身相对较新,他们可能还没有解决这个问题。我暂时将该文件夹保持未跟踪状态,同时获取更多信息。 - Ronald Zarīts