340
votes

Visual Studio 2015 creates a new folder called ".vs". What is the purpose of it and should I add it to source control?

3
@MichaelFreidgeim: Not sure, the other question asks about a specific file and this is about the whole folder. But it happens that some of the broader answers fit both.SoftwareFactor

3 Answers

355
votes

No, you should not add it to source control. The purpose of this folder is to move machine- and user-specific files to a central location. The explanation on the Visual Studio User Voice issue explains it well:

So far, we have moved the .SUO file and the VB/C# compiler IntelliSense database files to the new location. All new project specific, machine local files will be added to the new location too. We plan on taking this even further in future releases and are investigating how to improve the directory structure of build output and other existing files that can clutter the source tree.

These are all files that you would never check in, since they are generated from a build or contain machine-specific information.

90
votes

Github provides alot of .gitignore templates. In their template for visual studio they have ignored the .vs folder. Snippet from the template on github.

# Visual Studio 2015 cache/options directory
.vs/
26
votes

As described in the quote taken from uservoice in Patrick's answer, the folder is not intended for source control.

However like comments also point out, there can be some cases where you would want to include specific files from the folder.

I would add this to .gitignore:

.vs/

And then use whatever git tool you prefer to add certain files like a shared configuration of the applicationhost.config if needed.

Or use a git command like this:

git add -f .vs/config/applicationhost.config

This way git adds the file, even if it is ignored.