.gitignore for Visual Studio

233 ignore rules for Visual Studio, ready to copy into your repository.

Microsoft's integrated development environment

The complete .gitignore for Visual Studio

# Generated by LFGitignore - https://lfgitignore.com
# Created: 2025-08-07 13:36:50 UTC
# Technologies: Visual Studio

### Visual Studio ###
*.rsuser
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
*.env
# User preferences
*.userprefs
.history/
[Ww][Ii][Nn]32/
# User-specific settings
*.user
[Aa][Rr][Mm]/
# Solution user options
*.suo
[Aa][Rr][Mm]64/
*.userosscache
bld/
*.sln.docstates
[Oo]bj/
[Dd]ebug/x64/
[Ll]og/
[Dd]ebugPublic/x64/
[Ll]ogs/
[Rr]elease/x64/
[Rr]eleases/x64/
bin/x64/
ScaffoldingReadMe.txt
obj/x64/
*.nupkg
[Dd]ebug/x86/
*.snupkg
[Dd]ebugPublic/x86/
[Rr]elease/x86/
# Microsoft Office temp file
~$*
# Emacs backup files
*~
[Rr]eleases/x86/
bin/x86/
*.binlog
obj/x86/
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
*.VisualState.xml
TestResult.xml
[Aa][Rr][Mm]64[Ee][Cc]/
nunit-*.xml
[Oo]ut/
**/[Bb]in/*
.vs/
Generated\ Files/
mono_crash.*
*.trx
*.received.*
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
BenchmarkDotNet.Artifacts/
project.lock.json
project.fragment.lock.json
artifacts/
StyleCopReport.xml
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
# Object file
*.obj
# Intermediate debug file
*.idb
*.iobj
*.pch
# Program debug database
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
!Directory.Build.rsp
*.sbr
*.tlb
*.tli
*.tlh
# Temporary files
*.tmp
*.tmp_proj
*_wpftmp.csproj
# Log file
*.log
*.tlog
*.vspscc
*.vssscc
.builds
# Unity project database
*.pidb
*.svclog
*.scc
_Chutzpah*
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
*.psess
*.vsp
*.vspx
*.sap
*.e2e
$tf/
*.gpState
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
_TeamCity*
*.dotCover
.axoCover/*
!.axoCover/settings.json
coverage*.json
coverage*.xml
coverage*.info
*.coverage
*.coveragexml
_NCrunch_*
.NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
*.mm.*
AutoTest.Net/
# Sass cache directory
.sass-cache/
[Ee]xpress/
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
publish/
*.[Pp]ublish.xml
*.azurePubxml
*.pubxml
*.publishproj
PublishScripts/
**/[Pp]ackages/*
!**/[Pp]ackages/build/
*.nuget.props
*.nuget.targets
csx/
*.build.csdef
ecf/
rcf/
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
*.[Cc]ache
!?*.[Cc]ache/
ClientBin/
*.dbmdl
*.dbproj.schemaview
*.jfm
# Personal Information Exchange
*.pfx
*.publishsettings
orleans.codegen.cs
Generated_Code/
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
*.mdf
*.ldf
*.ndf
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
FakesAssemblies/
*.GhostDoc.xml
.ntvs_analysis.dat
# Node.js dependencies
node_modules/
*.plg
*.opt
*.vbw
*.dsw
*.dsp
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
**/.paket/paket.exe
paket-files/
**/.fake/
**/.cr/personal
**/__pycache__/
*.pyc
*.tss
*.jmconfig
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
OpenCover/
ASALocalRun/
MSBuild_Logs/
.aws-sam
*.nvuser
**/.mfractor/
**/.localhistory/
.vshistory/
healthchecksdb
MigrationBackup/
**/.ionide/
FodyWeavers.xsd
# VS Code workspace settings
.vscode/*
# Shared VS Code settings
!.vscode/settings.json
# VS Code build tasks
!.vscode/tasks.json
# VS Code debug configurations
!.vscode/launch.json
# VS Code recommended extensions
!.vscode/extensions.json
# VS Code snippets
!.vscode/*.code-snippets
*.vsix
# Windows cabinet archive
*.cab
# Windows installer package
*.msi
# Windows app package
*.msix
# Windows merge module
*.msm
# Windows patch file
*.msp

What these Visual Studio rules actually ignore

Every pattern below, and why it belongs in your .gitignore.

Build results

Pattern What it ignores
[Dd]ebug/ Build results
[Dd]ebugPublic/ Build results
[Rr]elease/ Build results
[Rr]eleases/ Build results
[Ww][Ii][Nn]32/ Build results
[Aa][Rr][Mm]/ Build results
[Aa][Rr][Mm]64/ Build results
bld/ Build results
[Oo]bj/ Build results
[Dd]ebug/x64/ Build results
[Ll]og/ Build results
[Dd]ebugPublic/x64/ Build results
[Ll]ogs/ Build results
[Rr]elease/x64/ Build results
[Rr]eleases/x64/ Build results
bin/x64/ Build results
obj/x64/ Build results
[Dd]ebug/x86/ Build results
[Dd]ebugPublic/x86/ Build results
[Rr]elease/x86/ Build results
[Rr]eleases/x86/ Build results
bin/x86/ Build results
obj/x86/ Build results
[Aa][Rr][Mm]64[Ee][Cc]/ Build results
[Oo]ut/ Build results

User-specific files

Pattern What it ignores
*.rsuser User-specific files
*.env User-specific files
*.user User-specific settings
*.suo Solution user options
*.userosscache User-specific files
*.sln.docstates User-specific files

Local History for Visual Studio Code

Pattern What it ignores
.history/ Local History for Visual Studio Code

User-specific files (MonoDevelop/Xamarin Studio)

Pattern What it ignores
*.userprefs User preferences

ASP.NET Scaffolding

Pattern What it ignores
ScaffoldingReadMe.txt ASP.NET Scaffolding

NuGet Packages

Pattern What it ignores
*.nupkg NuGet Packages

NuGet Symbol Packages

Pattern What it ignores
*.snupkg NuGet Symbol Packages

Others

Pattern What it ignores
~$* Microsoft Office temp file
*~ Emacs backup files
ClientBin/ Others
*.dbmdl Others
*.dbproj.schemaview Others
*.jfm Others
*.pfx Personal Information Exchange
*.publishsettings Others
orleans.codegen.cs Others

MSBuild Binary and Structured Log

Pattern What it ignores
*.binlog MSBuild Binary and Structured Log
MSBuild_Logs/ MSBuild Binary and Structured Log

MSTest test Results

Pattern What it ignores
[Tt]est[Rr]esult*/ MSTest test Results
[Bb]uild[Ll]og.* MSTest test Results
*.trx MSTest test Results

NUnit

Pattern What it ignores
*.VisualState.xml NUnit
TestResult.xml NUnit
nunit-*.xml NUnit

Build results on 'Bin' directories

Pattern What it ignores
**/[Bb]in/* Build results on 'Bin' directories

Visual Studio 2015/2017 cache/options directory

Pattern What it ignores
.vs/ Visual Studio 2015/2017 cache/options directory

Visual Studio 2017 auto generated files

Pattern What it ignores
Generated\ Files/ Visual Studio 2017 auto generated files

Mono auto generated files

Pattern What it ignores
mono_crash.* Mono auto generated files

Approval Tests result files

Pattern What it ignores
*.received.* Approval Tests result files

Build Results of an ATL Project

Pattern What it ignores
[Dd]ebugPS/ Build Results of an ATL Project
[Rr]eleasePS/ Build Results of an ATL Project
dlldata.c Build Results of an ATL Project

Benchmark Results

Pattern What it ignores
BenchmarkDotNet.Artifacts/ Benchmark Results
project.lock.json .NET Core
project.fragment.lock.json Benchmark Results
artifacts/ Benchmark Results

StyleCop

Pattern What it ignores
StyleCopReport.xml StyleCop

Files built by Visual Studio

Pattern What it ignores
*_i.c Files built by Visual Studio
*_p.c Files built by Visual Studio
*_h.h Files built by Visual Studio
*.ilk Files built by Visual Studio
*.meta Files built by Visual Studio
*.obj Object file
*.idb Intermediate debug file
*.iobj Files built by Visual Studio
*.pch Files built by Visual Studio
*.pdb Program debug database
*.ipdb Files built by Visual Studio
*.pgc Files built by Visual Studio
*.pgd Files built by Visual Studio
*.rsp Files built by Visual Studio
!Directory.Build.rsp but not Directory.Build.rsp, as it configures directory-level build defaults
*.sbr Files built by Visual Studio
*.tlb Files built by Visual Studio
*.tli Files built by Visual Studio
*.tlh Files built by Visual Studio
*.tmp Temporary files
*.tmp_proj Files built by Visual Studio
*_wpftmp.csproj Files built by Visual Studio
*.log Log file
*.tlog Files built by Visual Studio
*.vspscc Files built by Visual Studio
*.vssscc Files built by Visual Studio
.builds Files built by Visual Studio
*.pidb Unity project database
*.svclog Files built by Visual Studio
*.scc Files built by Visual Studio

Chutzpah Test files

Pattern What it ignores
_Chutzpah* Chutzpah Test files

Visual C++ cache files

Pattern What it ignores
ipch/ Visual C++ cache files
*.aps Visual C++ cache files
*.ncb Visual C++ cache files
*.opendb Visual C++ cache files
*.opensdf Visual C++ cache files
*.sdf Visual C++ cache files
*.cachefile Visual C++ cache files
*.VC.db Visual C++ cache files
*.VC.VC.opendb Visual C++ cache files

Visual Studio profiler

Pattern What it ignores
*.psess Visual Studio profiler
*.vsp Visual Studio profiler
*.vspx Visual Studio profiler
*.sap Visual Studio profiler

Visual Studio Trace Files

Pattern What it ignores
*.e2e Visual Studio Trace Files

TFS 2012 Local Workspace

Pattern What it ignores
$tf/ TFS 2012 Local Workspace

Guidance Automation Toolkit

Pattern What it ignores
*.gpState Guidance Automation Toolkit

ReSharper is a .NET coding add-in

Pattern What it ignores
_ReSharper*/ ReSharper is a .NET coding add-in
*.[Rr]e[Ss]harper ReSharper is a .NET coding add-in
*.DotSettings.user ReSharper is a .NET coding add-in

TeamCity is a build add-in

Pattern What it ignores
_TeamCity* TeamCity is a build add-in

DotCover is a Code Coverage Tool

Pattern What it ignores
*.dotCover DotCover is a Code Coverage Tool

AxoCover is a Code Coverage Tool

Pattern What it ignores
.axoCover/* AxoCover is a Code Coverage Tool
!.axoCover/settings.json AxoCover is a Code Coverage Tool

Coverlet is a free, cross platform Code Coverage Tool

Pattern What it ignores
coverage*.json Coverlet is a free, cross platform Code Coverage Tool
coverage*.xml Coverlet is a free, cross platform Code Coverage Tool
coverage*.info Coverlet is a free, cross platform Code Coverage Tool

Visual Studio code coverage results

Pattern What it ignores
*.coverage Visual Studio code coverage results
*.coveragexml Visual Studio code coverage results

NCrunch

Pattern What it ignores
_NCrunch_* NCrunch
.NCrunch_* NCrunch
.*crunch*.local.xml NCrunch
nCrunchTemp_* NCrunch

MightyMoose

Pattern What it ignores
*.mm.* MightyMoose
AutoTest.Net/ MightyMoose

Web workbench (sass)

Pattern What it ignores
.sass-cache/ Sass cache directory

Installshield output folder

Pattern What it ignores
[Ee]xpress/ Installshield output folder

DocProject is a documentation generator add-in

Pattern What it ignores
DocProject/buildhelp/ DocProject is a documentation generator add-in
DocProject/Help/*.HxT DocProject is a documentation generator add-in
DocProject/Help/*.HxC DocProject is a documentation generator add-in
DocProject/Help/*.hhc DocProject is a documentation generator add-in
DocProject/Help/*.hhk DocProject is a documentation generator add-in
DocProject/Help/*.hhp DocProject is a documentation generator add-in
DocProject/Help/Html2 DocProject is a documentation generator add-in
DocProject/Help/html DocProject is a documentation generator add-in

Click-Once directory

Pattern What it ignores
publish/ Click-Once directory

Publish Web Output

Pattern What it ignores
*.[Pp]ublish.xml Publish Web Output
*.azurePubxml Publish Web Output
*.pubxml Note: Comment the next line if you want to checkin your web deploy settings, but database connection strings (with potential passwords) will be unencrypted
*.publishproj Publish Web Output
PublishScripts/ Microsoft Azure Web App publish settings. Comment the next line if you want to checkin your Azure Web App publish settings, but sensitive information contained in these scripts will be unencrypted

The packages folder can be ignored because of Package Restore

Pattern What it ignores
**/[Pp]ackages/* The packages folder can be ignored because of Package Restore
!**/[Pp]ackages/build/ except build/, which is used as an MSBuild target.

NuGet v3's project.json files produces more ignorable files

Pattern What it ignores
*.nuget.props NuGet v3's project.json files produces more ignorable files
*.nuget.targets NuGet v3's project.json files produces more ignorable files

Microsoft Azure Build Output

Pattern What it ignores
csx/ Microsoft Azure Build Output
*.build.csdef Microsoft Azure Build Output

Microsoft Azure Emulator

Pattern What it ignores
ecf/ Microsoft Azure Emulator
rcf/ Microsoft Azure Emulator

Windows Store app package directories and files

Pattern What it ignores
AppPackages/ Windows Store app package directories and files
BundleArtifacts/ Windows Store app package directories and files
Package.StoreAssociation.xml Windows Store app package directories and files
_pkginfo.txt Windows Store app package directories and files
*.appx Windows Store app package directories and files
*.appxbundle Windows Store app package directories and files
*.appxupload Windows Store app package directories and files
*.[Cc]ache Visual Studio cache files files ending in .cache can be ignored
!?*.[Cc]ache/ but keep track of directories ending in .cache

RIA/Silverlight projects

Pattern What it ignores
Generated_Code/ RIA/Silverlight projects
_UpgradeReport_Files/ Backup & report files from converting an old project file to a newer Visual Studio version. Backup files are not needed, because we have git ;-)
Backup*/ RIA/Silverlight projects
UpgradeLog*.XML RIA/Silverlight projects
UpgradeLog*.htm RIA/Silverlight projects
ServiceFabricBackup/ RIA/Silverlight projects
*.rptproj.bak RIA/Silverlight projects

SQL Server files

Pattern What it ignores
*.mdf SQL Server files
*.ldf SQL Server files
*.ndf SQL Server files

Business Intelligence projects

Pattern What it ignores
*.rdl.data Business Intelligence projects
*.bim.layout Business Intelligence projects
*.bim_*.settings Business Intelligence projects
*.rptproj.rsuser Business Intelligence projects
*- [Bb]ackup.rdl Business Intelligence projects
*- [Bb]ackup ([0-9]).rdl Business Intelligence projects
*- [Bb]ackup ([0-9][0-9]).rdl Business Intelligence projects

Microsoft Fakes

Pattern What it ignores
FakesAssemblies/ Microsoft Fakes

GhostDoc plugin setting file

Pattern What it ignores
*.GhostDoc.xml GhostDoc plugin setting file

Node.js Tools for Visual Studio

Pattern What it ignores
.ntvs_analysis.dat Node.js Tools for Visual Studio
node_modules/ Node.js dependencies

Visual Studio 6 build log

Pattern What it ignores
*.plg Visual Studio 6 build log

Visual Studio 6 workspace options file

Pattern What it ignores
*.opt Visual Studio 6 workspace options file

Visual Studio 6 auto-generated workspace file (contains which files were open etc.)

Pattern What it ignores
*.vbw Visual Studio 6 auto-generated workspace file (contains which files were open etc.)

Visual Studio 6 workspace and project file (working project files containing files to include in pro

Pattern What it ignores
*.dsw Visual Studio 6 workspace and project file (working project files containing files to include in pro
*.dsp Visual Studio 6 workspace and project file (working project files containing files to include in pro

Visual Studio 6 technical files

Pattern What it ignores
*.ncb Visual Studio 6 technical files
*.aps Visual Studio 6 technical files

Visual Studio LightSwitch build output

Pattern What it ignores
**/*.HTMLClient/GeneratedArtifacts Visual Studio LightSwitch build output
**/*.DesktopClient/GeneratedArtifacts Visual Studio LightSwitch build output
**/*.DesktopClient/ModelManifest.xml Visual Studio LightSwitch build output
**/*.Server/GeneratedArtifacts Visual Studio LightSwitch build output
**/*.Server/ModelManifest.xml Visual Studio LightSwitch build output
_Pvt_Extensions Visual Studio LightSwitch build output

Paket dependency manager

Pattern What it ignores
**/.paket/paket.exe Paket dependency manager
paket-files/ Paket dependency manager

FAKE - F# Make

Pattern What it ignores
**/.fake/ FAKE - F# Make

CodeRush personal settings

Pattern What it ignores
**/.cr/personal CodeRush personal settings

Python Tools for Visual Studio (PTVS)

Pattern What it ignores
**/__pycache__/ Python Tools for Visual Studio (PTVS)
*.pyc Python Tools for Visual Studio (PTVS)

Tabs Studio

Pattern What it ignores
*.tss Tabs Studio

Telerik's JustMock configuration file

Pattern What it ignores
*.jmconfig Telerik's JustMock configuration file

BizTalk build output

Pattern What it ignores
*.btp.cs BizTalk build output
*.btm.cs BizTalk build output
*.odx.cs BizTalk build output
*.xsd.cs BizTalk build output

OpenCover UI analysis results

Pattern What it ignores
OpenCover/ OpenCover UI analysis results

Azure Stream Analytics local run output

Pattern What it ignores
ASALocalRun/ Azure Stream Analytics local run output

AWS SAM Build and Temporary Artifacts folder

Pattern What it ignores
.aws-sam AWS SAM Build and Temporary Artifacts folder

NVidia Nsight GPU debugger configuration file

Pattern What it ignores
*.nvuser NVidia Nsight GPU debugger configuration file

MFractors (Xamarin productivity tool) working folder

Pattern What it ignores
**/.mfractor/ MFractors (Xamarin productivity tool) working folder

Local History for Visual Studio

Pattern What it ignores
**/.localhistory/ Local History for Visual Studio

Visual Studio History (VSHistory) files

Pattern What it ignores
.vshistory/ Visual Studio History (VSHistory) files

BeatPulse healthcheck temp database

Pattern What it ignores
healthchecksdb BeatPulse healthcheck temp database

Backup folder for Package Reference Convert tool in Visual Studio 2017

Pattern What it ignores
MigrationBackup/ Backup folder for Package Reference Convert tool in Visual Studio 2017

Ionide (cross platform F# VS Code tools) working folder

Pattern What it ignores
**/.ionide/ Ionide (cross platform F# VS Code tools) working folder

Fody - auto-generated XML schema

Pattern What it ignores
FodyWeavers.xsd Fody - auto-generated XML schema

VS Code files for those working on multiple tools

Pattern What it ignores
.vscode/* VS Code workspace settings
!.vscode/settings.json Shared VS Code settings
!.vscode/tasks.json VS Code build tasks
!.vscode/launch.json VS Code debug configurations
!.vscode/extensions.json VS Code recommended extensions
!.vscode/*.code-snippets VS Code snippets

Built Visual Studio Code Extensions

Pattern What it ignores
*.vsix Built Visual Studio Code Extensions

Windows Installer files from build outputs

Pattern What it ignores
*.cab Windows cabinet archive
*.msi Windows installer package
*.msix Windows app package
*.msm Windows merge module
*.msp Windows patch file

How to use this .gitignore for Visual Studio

  1. Copy the Visual Studio rules above, or download the file directly.
  2. Create a file named .gitignore at the root of your Git repository and paste the rules into it.
  3. If some of those files are already tracked, run git rm -r --cached . then commit again — Git only applies ignore rules to untracked files.
  4. Commit the .gitignore so everyone on the team shares the same rules.

Other IDE .gitignore templates

See every IDE template