From efb463263b8e38bf0aa919362da10d7eebe5673c Mon Sep 17 00:00:00 2001 From: John Oliver Date: Sat, 23 Jul 2022 10:27:21 +1000 Subject: [PATCH] Added solution folder '.vs' to deleted directories --- .gitattributes | 63 +++++++++++++++++++++++++++++ README.md | 2 + src/CleanProject/SolutionCleaner.cs | 2 +- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/README.md b/README.md index 95b42b3..2dc41b4 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ How many times have you wanted to send a project to a friend or upload it to a w * obj folder * TestResults folder * Resharper folders + * Visual Studio settings folder + And then if you forget about removing Source Control bindings whoever gets your project will be prompted about that. As someone who does this process a great deal I decided to share with you my code for cleaning a project. diff --git a/src/CleanProject/SolutionCleaner.cs b/src/CleanProject/SolutionCleaner.cs index ddfab05..2a66299 100644 --- a/src/CleanProject/SolutionCleaner.cs +++ b/src/CleanProject/SolutionCleaner.cs @@ -18,7 +18,7 @@ internal static void CleanDirectories(this IEnumerable directories internal static void CleanDirectory(this string directory) { // Remove standard directories - directory.RemoveSubDirectories("bin", "obj", "TestResults", "_ReSharper*"); + directory.RemoveSubDirectories("bin", "obj", "TestResults", "_ReSharper*", ".vs"); // Remove directories provided on command line also directory.RemoveSubDirectories(Program.Options.RemoveDirectories);