.vscode文件夹是否要提交给源代码控制?

在新项目中,除了设置之外,文件夹为空。json文件。这个文件夹里会有什么东西?它是特定于机器的,特定于开发人员的,比如。vs文件夹,因此不能提交?或者所有开发人员都应该共享这个文件夹,从而提交它?

.vscode/settings文件顶部的注释。json:

// Place your settings in this file to overwrite default and user settings.
{
}

这似乎意味着文件夹应该包含特定于项目的设置,因此应该包含在源代码中。此外,UserVoice上的这篇文章似乎暗示了一些类型会在那里,也建议它应该被提交。


当前回答

好吧,这可能看起来很晚了,但如果你发现忽略.vscode/而不包括任何子文件很难,你可以忽略目录:

.vscode/

然后手动跟踪你想要的文件:

git add -f .vscode/launch.json

f在文件被忽略的情况下也会添加文件。一旦Git看到.vscode/launch的变化。Json,你会被提示像提交其他文件一样提交它们。

这实际上为我工作,因为我遇到了同样的问题,试图忽略.vscode/路径,不包括子文件settings.json

其他回答

如果您想与团队共享设置、任务配置和调试配置,请检入.vscode文件夹。我认为如果你想在一个团队中强制设置,与团队共享设置(例如空格与选项卡)是有意义的。我们VS Code团队也共享调试和任务特定的设置,因为我们希望我们的团队对VS Code有相同的调试目标和任务目标。

顺便说一下,你不需要在你的项目中有一个.vscode文件夹进行设置。您也可以在用户级别上进行配置。

答案是“否”,因为.vscode文件夹是这个编辑器的,你不应该把这些个人设置推送到repo,以免让其他人感到困惑,所以你可以把它添加到项目的.gitignore文件中来忽略这些更改

never commit .vscode/settings.json - with the weird exception of search.exclude . If you really need to, be very careful of putting only settings particular of your project that you want to enforce to other developers. for validation, formatting, compilation use other files like package.json, .eslint, tsconfig.json, etc The only .vscode that makes sense to include are complex launch configs for debugging. Be careful, there could be a third party extension in your system that could put private information there !

What you can't do is copy & paste the whole settings.json contents file to .vscode/settings.json. I'm seeing some people doing this and committing the file is an atrocity. In that case you will not only break others workspace but worst, you will be enforcing settings to users that you shouldn't like aesthetics, UI, experience. You probably will break their environments because some are very system dependent. Imagine I have vision problems so my editor.* user settings are personalize and when I open your project the visuals change. Imagine I have vision problems s I need to personalize user editor.* settings to be able to work. I would be angry.

如果你是认真的,不要提交.vscode/settings.json。一般来说,对特定项目有用的设置,如验证、编译,是有意义的,但通常你可以使用特定的工具配置文件,如.eslint、tsconfig。Json,。gitignore, package。Json。等。我猜vscode作者只是添加了简化新人体验的文件,但如果你想认真的不要!

唯一的例外,在非常特殊的情况下可能是search.exclude

好吧,这可能看起来很晚了,但如果你发现忽略.vscode/而不包括任何子文件很难,你可以忽略目录:

.vscode/

然后手动跟踪你想要的文件:

git add -f .vscode/launch.json

f在文件被忽略的情况下也会添加文件。一旦Git看到.vscode/launch的变化。Json,你会被提示像提交其他文件一样提交它们。

这实际上为我工作,因为我遇到了同样的问题,试图忽略.vscode/路径,不包括子文件settings.json

在提交/忽略之间还有第三个聪明的选择:以.default后缀提交。

例如,您可以添加设置。Json到.gitignore,并提交settings.json.default,就像在我的团队中使用.env文件一样。

我从视频中将编辑器设置提交到版本控制?作者:Mattias Petter Johansson