.gitignore for Visual Studio

Visual Studio (Windows) build artifacts, user options, and NuGet packages.

Quick presets

Selected (1)
Visual Studio
Your selections never leave your browser. Generation happens entirely client-side.
Raw

38 patterns · 573 B

# Generated by DevZone Tools — https://devzone.tools/tools/gitignore-generator
# Templates: Visual Studio
# 2026-04-20

# ---- Visual Studio ----
# Visual Studio
.vs/
*.user
*.suo
*.userosscache
*.sln.docstates
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
*.pidb
*.svclog
*.scc
packages/
*.nupkg
*.snupkg
**/[Pp]ackages/*
!**/[Pp]ackages/build/
*.nuspec
_TestResults/
*.vspscc
*.vssscc
.builds
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

What this template ignores

Ignores Visual Studio solution user options (.suo, .user), build output directories (bin/, obj/), NuGet packages, and publish settings files.

Common additions

  • +*.sln — usually committed; ignore only for generated solutions

Commonly paired with

Frequently asked questions

Do I need to commit .gitignore?
Yes — .gitignore should be committed to the repository so all collaborators benefit from the same ignore rules.
How do I add custom patterns?
Open your .gitignore file and add the pattern on a new line. Use # for comments, * for wildcards, / to match directories, and ! to un-ignore a previously ignored path.
How do I ignore a file that is already tracked?
Adding a file to .gitignore does not remove it from tracking if it was previously committed. Run: git rm --cached <file> to stop tracking it without deleting the file locally.
Should I commit .sln files?
Yes — .sln solution files define the project structure and should be committed. Only auto-generated .sln files should be ignored.

Looking for something else? Browse all templates →