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

After installing and using Visual Studio 2010, I'm seeing some newer file types (at least with C++ projects ... don't know about the other types) as compared to 2008. e.g. .sdf, .opensdf, which I guess are the replacement for ncb files with Intellisense info stored in SQL Server Compact files? I also notice .log files are generated, which appear to be build logs.

Given this, what's safe to add to my global ignore pattern? Off the bat, I'd assume .sdf, .opensdf, but what else?


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.

*.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

Need Your Help

What are Virtual Methods?

c# virtual keyword

Why would you declare a method as "virtual".

Is there any way to enforce typing on NSArray, NSMutableArray, etc.?

objective-c generics data-structures collections strong-typing

Can I make a NSMutableArray instance where all the elements are of type SomeClass?