What should be contained in a global source code control ignore pattern for Visual Studio 2010?

Solution 1:

For C++ projects, you should be fine ignoring the following files:

  • *.sdf and *.opensdf (temporary file opened only while .vcxproj/.sln is loaded to Visual Studio IDE)
  • *.suo
  • *.vcxproj.user
  • ipch folder, if your project uses Pre-compiled Headers (PCH); it is a storage for Intellisense compiler which can now utilise PCH for better performance

For C# projects, it's also a good idea to ignore bin and obj directories, and *.suo too.

Solution 2:

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store *.ilk *.aps *.suo *.ncb *.user *.opt *.plg */Debug* */Release* */debug* */release* *.*~ *.tlb *_i.c *_p.c _*.idl _*.h *.obj *.vspscc dlldata.c *.pch *.idb *.pdb *.manifest *.res *.exe *.dll mt.dep BuildLog.htm *_i.h *.idc *.swp *.trx */TestResults *.vcxproj.filters ipch *.sdf *.opensdf

Read this reference page for file types from MS Visual Studio

  • *.o: GCC object files
  • *.lo: GNU Libtool Library Object File
  • *.la: libtool archives
  • *.al: ?
  • .libs: autotools object directory
  • *.so, *.so.[0-9]*: GNU shared library
  • *.a: GCC import or static library
  • *.pyc: Compiled Python file/library
  • *.pyo: Python object file
  • *.rej: SVN conflict resolution file (mostly backups)
  • *~, .~: Temporary backup files for Linux desktop utilities like Kate, Kwrite...
  • #*# .#*: Build system generated intermediate response files etc.
  • .*.swp: VIM editor swap file
  • .DS_Store: OSX directory metadata storage
  • *.ilk: MSVC Incremental linker file.
  • *.aps: Binary version of the current resource script file; used for quick loading.
  • *.suo: Solution User Options
  • *.ncb: MSVC Intellisense Data
  • *.user: QtCreator (and maybe other) private user settings file.
  • *.opt: MSVS workspace options
  • *.plg: Build log file
  • */Debug*, */debug*: Debug build directory
  • */Release*, */release*: Release build directory
  • *.tlb: Type library output from MIDL compiler
  • *_i.c, *_p.c, _*.idl, _*.h, *_i.h: MIDL generated files. _i - interface, _p - proxy, etc.
  • *.obj: MSVC object file.
  • *.vspscc: Source code control configuration
  • dlldata.c: MIDL generatd proxy/stub code.
  • *.pch: MSVC precompiled header
  • *.idb: Minimum Rebuild Incremental Database
  • *.pdb: Program Debug database: contains all debug info.
  • *.manifest: Manifest files
  • *.res: Compiled resource file.
  • *.exe, *.dll: Windows binaries
  • mt.dep: Generated Manifest
  • BuildLog.htm: self-explanatory
  • *.idc: Internet Database Connector definitions
  • *.trx: Visual Studio Test Results File
  • */TestResults: Self-explanatory
  • *.vcxproj.filters: Private user-dependent VS IDE file.
  • ipch: MSVC Precompiled header directory
  • *.sdf: SQL Server Compact Database File
  • *.opensdf: Temp file related to corresponding .sdf