From a5b891d9d2e1ad6468fcf847c8897357028adafb Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 10:43:43 +0930 Subject: [PATCH 01/10] first pass at annotating the source --- VisualStudio.gitignore | 74 ++++++++++++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 20 deletions(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index cd8716d314..268b01df6c 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -1,16 +1,18 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files +# temporary files generated by Visual Studio specific to the local user +# contains profile information and other metadata +# remove: if no longer targeting Visual Studio 2013 or earlier *.suo *.user *.userosscache *.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) +# +# new location for Visual Studio 2015 +.vs/ +# +# specific to MonoDevelop and Xamarin Studio *.userprefs -# Build results +# build output folders generated by Visual Studio [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ @@ -22,24 +24,37 @@ bld/ [Bb]in/ [Oo]bj/ -# Visual Studio 2015 cache/options directory -.vs/ - -# MSTest test Results +# MSTest +# a test framework from Microsoft +# remove: if you are not using the MSTest runner to run your tests [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* -# NUNIT +# NUnit +# an open source test framework for .NET +# site: http://www.nunit.org/ +# remove: if you are not using the NUnit test runner to run your tests *.VisualState.xml TestResult.xml -# Build Results of an ATL Project +# ATL (Active Template Library) Project +# remove: if you do not have an ATL project in your solution [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c # DNX +# summary: the environment for cross-platform .NET development +# site: https://github.com/aspnet/dnx +# +# locks the package references for a project to specific versions +# url: https://github.com/aspnet/Home/wiki/Lock-file +# remove: if you would like to lock your dependencies to a specific version +# when committing and prevent package restore from selecting a +# more recent version project.lock.json +# +# build output artifacts/ *_i.c @@ -67,7 +82,10 @@ artifacts/ *.svclog *.scc -# Chutzpah Test files +# Chutzpah +# a JS unit testing framework for commit +# site: https://github.com/mmanela/chutzpah +# include-when: you use the Chutzpah test runner to run tests _Chutzpah* # Visual C++ cache files @@ -78,23 +96,29 @@ ipch/ *.sdf *.cachefile -# Visual Studio profiler +# temporary files generated by the Visual Studio profiling tools +# remove-when: you are not using these features of Visual Studio *.psess *.vsp *.vspx # TFS 2012 Local Workspace +# remove-when: you are not using TFVC in this repository $tf/ # Guidance Automation Toolkit *.gpState -# ReSharper is a .NET coding add-in +# ReSharper +# a Visual Studio extension which supports various project types +# site: https://www.jetbrains.com/resharper/ _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user -# JustCode is a .NET coding add-in +# JustCode +# a Visual Studio extension for various project types +# site: https://www.jetbrains.com/resharper/ .JustCode # TeamCity is a build add-in @@ -104,15 +128,19 @@ _TeamCity* *.dotCover # NCrunch +# a continuous test runner for Visual Studio +# site: TODO _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose +# site: TODO: *.mm.* AutoTest.Net/ -# Web workbench (sass) +# Web Workbench +# site: TODO: .sass-cache/ # Installshield output folder @@ -129,19 +157,25 @@ DocProject/Help/Html2 DocProject/Help/html # Click-Once directory +# remove: publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings +# TODO: Comment the next line if you want to checkin your web deploy settings # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj -# NuGet Packages +# NuGet +# summary: the package manager tool used in Visual Studio +# url: https://nuget.org +# +# output packages created by NuGet *.nupkg # The packages folder can be ignored because of Package Restore +# remove-if: you want to disable Package Restore **/packages/* # except build/, which is used as an MSBuild target. !**/packages/build/ From 7d209f8aacb5f364cdd7915ebef55ebe500364a9 Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 11:51:03 +0930 Subject: [PATCH 02/10] a bit more cleanup --- VisualStudio.gitignore | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index 268b01df6c..d3421f2563 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -32,7 +32,7 @@ bld/ # NUnit # an open source test framework for .NET -# site: http://www.nunit.org/ +# url: http://www.nunit.org/ # remove: if you are not using the NUnit test runner to run your tests *.VisualState.xml TestResult.xml @@ -45,7 +45,7 @@ dlldata.c # DNX # summary: the environment for cross-platform .NET development -# site: https://github.com/aspnet/dnx +# url: https://github.com/aspnet/dnx # # locks the package references for a project to specific versions # url: https://github.com/aspnet/Home/wiki/Lock-file @@ -84,8 +84,8 @@ artifacts/ # Chutzpah # a JS unit testing framework for commit -# site: https://github.com/mmanela/chutzpah -# include-when: you use the Chutzpah test runner to run tests +# url: https://github.com/mmanela/chutzpah +# remove: if you do not use the Chutzpah test runner in your project _Chutzpah* # Visual C++ cache files @@ -97,13 +97,13 @@ ipch/ *.cachefile # temporary files generated by the Visual Studio profiling tools -# remove-when: you are not using these features of Visual Studio +# remove: if you are not using these features of Visual Studio *.psess *.vsp *.vspx # TFS 2012 Local Workspace -# remove-when: you are not using TFVC in this repository +# remove: if you are not using TFVC in this repository $tf/ # Guidance Automation Toolkit @@ -111,36 +111,42 @@ $tf/ # ReSharper # a Visual Studio extension which supports various project types -# site: https://www.jetbrains.com/resharper/ +# url: https://www.jetbrains.com/resharper/ _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user # JustCode # a Visual Studio extension for various project types -# site: https://www.jetbrains.com/resharper/ +# url: https://www.jetbrains.com/resharper/ .JustCode -# TeamCity is a build add-in +# TeamCity +# a Visual Studio extension you can download from your TeamCity server +# url: https://confluence.jetbrains.com/display/TCD9/Visual+Studio+Addin _TeamCity* -# DotCover is a Code Coverage Tool +# DotCover +# a code coverage plugin for Visual Studio +# url: https://www.jetbrains.com/dotcover/ *.dotCover # NCrunch # a continuous test runner for Visual Studio -# site: TODO +# url: http://www.ncrunch.net _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose -# site: TODO: +# a continuous test runner for Visual Studio +# url: http://www.continuoustests.com/ *.mm.* AutoTest.Net/ # Web Workbench -# site: TODO: +# SASS, LESS and Coffeescript integration for Visual Studio +# url: http://www.mindscapehq.com/products/web-workbench .sass-cache/ # Installshield output folder From f2c0e3cc5a96c7c65fb4d569363c6bd8851b6215 Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 11:59:31 +0930 Subject: [PATCH 03/10] fleshing out the NuGet section --- VisualStudio.gitignore | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index d3421f2563..9e002e3a18 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -162,8 +162,9 @@ DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html -# Click-Once directory -# remove: +# ClickOnce installer and deployment +# url: https://msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx +# remove: if you do not have ClickOnce publishing enabled for your projects publish/ # Publish Web Output @@ -180,12 +181,21 @@ publish/ # # output packages created by NuGet *.nupkg -# The packages folder can be ignored because of Package Restore -# remove-if: you want to disable Package Restore +# +# Since NuGet 2.7, package restore is now a first class feature of Visual Studio +# so you do not need to check in your packages +# url: https://docs.nuget.org/consume/package-restore +# remove: if you do not wish to restore packages in this way, or have + package restore disabled **/packages/* -# except build/, which is used as an MSBuild target. +# +# some packages include MSBuild targets files, which are stored in this +# location and should be kept in version control !**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed +# +# this file is a local listing of where to find your packages.config files and +# is regenerated by Visual Studio during a build +# include: if you wish to version this file any way #!**/packages/repositories.config # Windows Azure Build Output From 8803192fd3181575c38026454bec079f46373a77 Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 12:10:06 +0930 Subject: [PATCH 04/10] some more cleanup --- VisualStudio.gitignore | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index 9e002e3a18..3ff15aef7d 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -152,7 +152,10 @@ AutoTest.Net/ # Installshield output folder [Ee]xpress/ -# DocProject is a documentation generator add-in +# DocProject +# a document generation add-in for Visual Studio based on Sandcastle +# url: http://docproject.codeplex.com/ +# remove: if you are using Visual Studio 2010 or later (which are not supported) DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC @@ -170,8 +173,10 @@ publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted +# +# remove: if you have sensitive details in your database connection strings + (such as passwords) committing this settings file will mean + that they are stored in an unencrypted state in your repository *.pubxml *.publishproj @@ -193,9 +198,9 @@ publish/ # location and should be kept in version control !**/packages/build/ # -# this file is a local listing of where to find your packages.config files and +# this file is a local listing of where to find your packages.config files, and # is regenerated by Visual Studio during a build -# include: if you wish to version this file any way +# include: if you wish to version this file #!**/packages/repositories.config # Windows Azure Build Output From 237c94586fa169a6074f86314c3489f78a0ef65c Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 12:18:57 +0930 Subject: [PATCH 05/10] more annotations --- VisualStudio.gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index 3ff15aef7d..8e4a4d35b9 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -149,7 +149,11 @@ AutoTest.Net/ # url: http://www.mindscapehq.com/products/web-workbench .sass-cache/ -# Installshield output folder +# InstallShield +# installer framework for Windows machines +# url: http://www.flexerasoftware.com/producer/products/software-installation/installshield-software-installer/ +# +# output folder [Ee]xpress/ # DocProject From f515ae6c5c414d45097ce9e12be385c902fd863d Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 12:20:58 +0930 Subject: [PATCH 06/10] reordering --- VisualStudio.gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index 8e4a4d35b9..07f86278e3 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -221,7 +221,6 @@ AppPackages/ !*.[Cc]ache/ # Others -ClientBin/ [Ss]tyle[Cc]op.* ~$* *~ @@ -233,6 +232,10 @@ node_modules/ orleans.codegen.cs # RIA/Silverlight projects +# url: https://www.microsoft.com/silverlight/ +# output directory for *.xap artifacts +ClientBin/ +# temporary directory used by compiler Generated_Code/ # Backup & report files from converting an old project file From 0f61d7e24079ae21b4c6c396eaa380f9a7c107cd Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 12:34:17 +0930 Subject: [PATCH 07/10] refreshing words --- VisualStudio.gitignore | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index 07f86278e3..b6867bc345 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -238,9 +238,11 @@ ClientBin/ # temporary directory used by compiler Generated_Code/ -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) +# Migrating Projects +# When upgrading a solution to a newer version of Visual Studio, there are a +# number of output files created so you can view the log, troubleshoot issues +# and potentially revert to a backup. These can be safely ignored, because +# you're already using version control. _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML From d983b4f5e2d28d0edcf4a7bafed614514afda933 Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 12:38:07 +0930 Subject: [PATCH 08/10] moved Visual Studio 6 options into relevant sections --- VisualStudio.gitignore | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index b6867bc345..7088ba1ecf 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -11,6 +11,10 @@ # # specific to MonoDevelop and Xamarin Studio *.userprefs +# +# workspace options file +# remove: if no longer targeting Visual Studio 6 +*.opt # build output folders generated by Visual Studio [Dd]ebug/ @@ -23,6 +27,10 @@ build/ bld/ [Bb]in/ [Oo]bj/ +# +# default build log file +# remove: if no longer targeting Visual Studio 6 +*.plg # MSTest # a test framework from Microsoft @@ -262,9 +270,3 @@ FakesAssemblies/ # Node.js Tools for Visual Studio .ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt From eab8d4876dbe2dc782cb5463767e72db501070d4 Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 12:56:21 +0930 Subject: [PATCH 09/10] extract a couple of rules and explain them in more detail --- VisualStudio.gitignore | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index 7088ba1ecf..fa57cddd3d 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -65,6 +65,19 @@ project.lock.json # build output artifacts/ +# Program Database files created by various compilers +# used when debugging compiled code - the file essentially represents a lookup +# so that symbols can be resolved to the relevant source code +# url: https://en.wikipedia.org/wiki/Program_database +*.pdb + +# Visual SourceSafe hint files to keep the projects and solutions in sync +# with source control - these are no longer necessary once you've moved away +# from Visual SourceSafe +*.vspscc +*.vssscc + + *_i.c *_p.c *_i.h @@ -72,7 +85,6 @@ artifacts/ *.meta *.obj *.pch -*.pdb *.pgc *.pgd *.rsp @@ -83,8 +95,6 @@ artifacts/ *.tmp *.tmp_proj *.log -*.vspscc -*.vssscc .builds *.pidb *.svclog From 765ecc398b6ab0b62e03882224e78e5922b0bcf0 Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Sat, 4 Jul 2015 13:26:41 +0930 Subject: [PATCH 10/10] some more annotation --- VisualStudio.gitignore | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/VisualStudio.gitignore b/VisualStudio.gitignore index fa57cddd3d..11c8519425 100644 --- a/VisualStudio.gitignore +++ b/VisualStudio.gitignore @@ -238,15 +238,33 @@ AppPackages/ # but keep track of directories ending in .cache !*.[Cc]ache/ -# Others +# StyleCop +# an extension for enforcing coding style in C# +# url: https://stylecop.codeplex.com/ +# +# temporary files created by the tool [Ss]tyle[Cc]op.* + +# Others ~$* *~ *.dbmdl *.dbproj.schemaview +# +# *.pfx *.publishsettings +# +# the local cache of node module installed by NPM +# remove: if you are not using nodejs in your solution + OR if you wish to keep this cache under version control node_modules/ + +# Orleans +# a Distributed Actor Model framework for .NET +# url: https://github.com/dotnet/Orleans +# +# code generated as part of compilation orleans.codegen.cs # RIA/Silverlight projects @@ -271,12 +289,18 @@ UpgradeLog*.htm *.ldf # Business Intelligence projects +# remove: if you do not have Business Intelligence projects in your solution *.rdl.data *.bim.layout *.bim_*.settings # Microsoft Fakes +# a local cache of assemblies +# url: https://msdn.microsoft.com/en-us/library/hh549175.aspx +# remove: if you are not using Microsoft Fakes in your projects FakesAssemblies/ # Node.js Tools for Visual Studio +# url: https://github.com/Microsoft/nodejstools +# remove: if you do not have this extension installed .ntvs_analysis.dat