Click here to Skip to main content
Click here to Skip to main content
Articles » Languages » C# » Utilities » Downloads
 
Add your own
alternative version

Visual Studio Cleaner and More

, 18 Dec 2011 CPOL
Delete junk files from Visual Studio solution/project by selecting files using search patterns
vstudiocleaner-exe.zip
VStudioCleaner.exe
vstudiocleaner-v1.8-src.zip
vstudiocleaner-v1.8
blackBubbles.jpg
dennis-lang-web.html.url
Desktop.ini
doc-web
logo.png
vsCleaner.png
vstudioCleaner-files.png
vstudioCleaner-main.png
vstudioCleaner1.png
vstudioCleaner2.png
vstudioCleaner3.png
vstudioCleaner4.png
vstudiocleanerA.gif
Thumbs.db
vBar.png
VStudioCleaner
Properties
Resources
help.rtf
VstudioCleaner.ico
VstudioCleaner.ico
VstudioCleaner.png
vstudiocleaner_v1.3.zip
vstudiocleaner_v1.3
blackBubbles.jpg
vBar.png
VStudioCleaner
Properties
VstudioCleaner.ico
VstudioCleaner.ico
VstudioCleaner.png
vstudiocleaner_v1.4-exe.zip
VStudioCleaner.exe
vstudiocleaner_v1.4-src.zip
vstudiocleaner_v1.4
blackBubbles.jpg
vBar.png
VStudioCleaner
Properties
VstudioCleaner.ico
VstudioCleaner.ico
VstudioCleaner.png
vstudiocleaner_v1.5-exe.zip
VStudioCleaner.exe
vstudiocleaner_v1.5-src.zip
vstudiocleaner_v1.5
blackBubbles.jpg
Desktop.ini
Thumbs.db
vBar.png
VStudioCleaner
Properties
VstudioCleaner.ico
VstudioCleaner.ico
VstudioCleaner.png
help.rtf
Resources
help.rtf
<html>
<body lang=EN-US>

<p><span style='font-size:12.0pt'>Filters are patterns used to select directories and files.</span>
<p>
<b><span style='font-size:12.0pt'>Filters fall into four categories:</span></b>

<ol>
<li> <i>Directory</i> names
<li> File <i>extensions</i>, matches files
<li> <i>Wildcard</i>, matches directories and files
<li> <i>Exclude</i> files or directories
</ol>

1. <b>Directory</b> filters must end in a back slash.
Example:�� <b><span style='color:red'>debug\</span></b><span style='color:red'></span>
<br>
Directory filters only match on directory names and cause
the directory and all of its subdirectories to be selected.
<p>
2 File <b>extension</b> must start with a decimal point.
Example:�� <b><span style='color:red'>.obj</span></b>

<br>File extension filter only matches on files.

<p>3. <b>Wildcard</b> is a collection of characters with one
or more wildcard characters *. 

<br>Wildcard can appear multiple times. <b>*</b> matches zero or more characters.
<blockquote>
Example: <b>Connect*.xml </b>
<br>Example: <b>*foo*bar.* </b>
</blockquote>

<p>The wildcard filter is tested against the fulll file or
directory path so it is common for all wildcard patterns to start with <b>*</b> to match on any
prefix of disk drive letters and subdirectories.

<p>
<blockquote>
Examples:
<br>
<table border=1>
<tr style="background-color:#c0c0c0;"><td> Pattern <td>Test Against <td>Results
<tr><td> foo*        <td>foobarcar              <td>match
<tr><td> foo*        <td>carbarfoo              <td>no match
<tr><td> *foo        <td>carbarfoo              <td>match
<tr><td> *foo\bin\*  <td>foo\junk               <td>no match
<tr><td> *foo\bin\*  <td>foo\bin\               <td>match
<tr><td> *foo\bin\*  <td>foo\bin\car.exe        <td>match
<tr><td> *\bin\*.obj <td>c:\foo\bar\bin\car.obj <td>match
<tr><td> *\bin\*.o*  <td>c:\foo\bar\bin\car.old <td>match
<tr><td> *\bin\*.o*  <td>d:\bin\junk.obj        <td>match
</table>
</blockquote>

<p>A filter can contain one or more filters separated by semicolons.
<blockquote>
Example: <b>Connect*.xml;.obj;obj\</b>
</blockquote>

<p>4. The <b>exclude</b> filter is evaluated last and only for matches in the current filter. Exclude filter starts with a <span style='color:red'>minus</span> sign.
<blockquote>
Example: <b>*\bin\*;</b><b><span style='font-size:12.0pt;color:red'>-</span>*.exe</b>
</blockquote>

<p>The above example will match on the directory &quot;<b>bin</b>&quot; and all of its subdirectories and files.
The exclude pattern will exclude all files with extension &quot;.<b><span style='color:red'>exe</span></b>&quot; from the matched files.
NOTE: the exclude only works on <b>File</b> and <b>Wildcard</b> filters and not simple <span style='color:red'>Directory</span> name filters.
<p>
The following will <b><span style='color:red'>not</span></b> work because the members of bin directory are not tested individually.
<blockquote>
Example: <b>bin\;-*.exe</b>
</blockquote>

<p><b><span style='font-size:12.0pt'>Special Global Exclude Filter:</span></b>

<p>If one or more exclude filters have their Filter name set
to <b><span style='color:#E36C0A'>'never'</span></b>, they are always evaluated
to prevent files from being located.

<p> 
<blockquote>
Example:<br>
<table border=1>
<tr  style="background-color:#c0c0c0;"><td>Filter <td>Details <td>Description
<tr><td><b><span style='color:#E36C0A'>never-exe</span></b><td> -*.exe <td>Don't remove executables
<tr><td><b><span style='color:#E36C0A'>never-cpp</span></b><td> -*.cpp <td>Don't remove soource files cpp
<tr><td><b><span style='color:#E36C0A'>never-zed</span></b><td> -*\Zed*\* <td>Don't remove Zed graph directories
</table>
</blockquote>


<p>Use <b>Add</b> and <b>Delete</b> buttons to manage your collection of filter rules.
<br><b>Double click</b> on a row to change its value.
<br><b>Right click</b> if you want to Export the filter rules as CSV
<br><Font color=red>Filter names must be unique. Duplicate filters will be ignored next time you restart.</font>


<p><b><span style='font-size:12.0pt'>Bookmarks:</span></b>
<blockquote>
<p>Use the bookmarks to memorize a set of filter rule checkmark states and Path setting.
<br>Use the bookmark <b>Add</b> button to add a new bookmark to remember the current settings. 
<br><b>Double Click</b> on a bookmark to activate its settings.
<br>Press the <b>'Set'</b> button to refresh the current state of a bookmark to the current list of active filter rules and Path.
</blockquote>

<p><b><span style='font-size:12.0pt'>Search Path</span></b>
<blockquote>
Keep folder search path <b>empty</b> when you set a bookmark if you want its application to be applied to an existing path.
</blockquote>
</div>

</body>

</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Dennis Lang
Software Developer (Senior) WSI
United States United States
30 years experience writing software.
I love C/C++ for its speed and power and C#/Visual Studio for quick application development.
 
Unix/Linux is my favorite OS

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.141223.1 | Last Updated 18 Dec 2011
Article Copyright 2009 by Dennis Lang
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid