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

C++Visual Studio-2010Visual StudioVersion ControlIgnore

C++ Problem Overview


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?

C++ Solutions


Solution 1 - C++

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 - C++

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChris SimmonsView Question on Stackoverflow
Solution 1 - C++mloskotView Answer on Stackoverflow
Solution 2 - C++dexblackView Answer on Stackoverflow