<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Footprints in the snow of a warped mind - Productivity</title>
    <link>http://blogs.thesitedoctor.co.uk/test/</link>
    <description>newtelligence powered</description>
    <language>en-us</language>
    <copyright>Tim</copyright>
    <lastBuildDate>Sat, 27 Feb 2010 12:22:48 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>timgaunt@gmail.com</managingEditor>
    <webMaster>timgaunt@gmail.com</webMaster>
    <item>
      <trackback:ping>http://blogs.thesitedoctor.co.uk/test/Trackback.aspx?guid=07139039-07ca-4b5a-8cc7-c9a9f62f9a32</trackback:ping>
      <pingback:server>http://blogs.thesitedoctor.co.uk/test/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.thesitedoctor.co.uk/test/PermaLink,guid,07139039-07ca-4b5a-8cc7-c9a9f62f9a32.aspx</pingback:target>
      <dc:creator>Tim</dc:creator>
      <wfw:comment>http://blogs.thesitedoctor.co.uk/test/CommentView,guid,07139039-07ca-4b5a-8cc7-c9a9f62f9a32.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.thesitedoctor.co.uk/test/SyndicationService.asmx/GetEntryCommentsRss?guid=07139039-07ca-4b5a-8cc7-c9a9f62f9a32</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Ever wanted to be able to collapse all items within Visual Studio's solution window?
This is a nifty little Visual Studio macro that I came across a few years ago and
have been using successfully in Visual Studio 2005, Visual Studio 2008 and now in
the Visual Studio 2010 RC.
</p>
        <p>
I'll overview how to install it below in case you're unsure how to do it but I have
this bound to the key combination Ctrl+Shift+` as ReSharper now uses my previous key
combination of Ctrl+` for it's new bookmark explorer.
</p>
        <p>
Anyway, here's the Visual Studio Solution Explorer item Collapse All macro:
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:509f3fe6-631a-4dea-9434-fbeaed4328bf" class="wlWriterEditableSmartContent">
          <pre class="brush: vb">Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
'-----------------------------------------------------------
' CollapseAll Module
'-----------------------------------------------------------
' Simple macro that fully collapses all items in the 
' Solution Explorer rather than just the top level node
'
' To make live easier, bind it to a keyboard setting such
' as Ctrl+Shift+` which by default has no bindings (Ctrl+` is
' now used by Resharper
'
' Tested and works with:
' Visual Studio 2005
' Visual Studio 2008
' Visual Studio 2010
'
' Originally from: http://bit.ly/bmRu3W
'-----------------------------------------------------------
Public Module CollapseAll

    Sub CollapseTree()
        ' Get the the Solution Explorer tree
        Dim solutionExplorer As UIHierarchy
        solutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object()

        ' Check if there is any open solution
        If (solutionExplorer.UIHierarchyItems.Count = 0) Then
            Return
        End If

        ' Get the top node (the name of the solution)
        Dim rootNode As UIHierarchyItem = solutionExplorer.UIHierarchyItems.Item(1)
        rootNode.DTE.SuppressUI = True

        ' Collapse each project node
        Collapse(rootNode, solutionExplorer)

        ' Select the solution node, or else when you click 
        ' on the solution window
        ' scrollbar, it will synchronize the open document 
        ' with the tree and pop
        ' out the corresponding node which is probably not what you want.
        rootNode.Select(vsUISelectionType.vsUISelectionTypeSelect)
        rootNode.DTE.SuppressUI = False
    End Sub

    Private Sub Collapse(ByVal item As UIHierarchyItem, ByRef solutionExplorer As UIHierarchy)
        For Each innerItem As UIHierarchyItem In item.UIHierarchyItems
            If innerItem.UIHierarchyItems.Count &gt; 0 Then
                ' Re-cursive call
                Collapse(innerItem, solutionExplorer)
                ' Collapse
                If innerItem.UIHierarchyItems.Expanded Then
                    innerItem.UIHierarchyItems.Expanded = False
                    If innerItem.UIHierarchyItems.Expanded = True Then
                        ' Bug in VS 2005
                        innerItem.Select(vsUISelectionType.vsUISelectionTypeSelect)
                        solutionExplorer.DoDefaultAction()
                    End If
                End If

            End If
        Next
    End Sub
End Module</pre>
        </div>
        <p>
 
</p>
        <p>
In case you've never installed a Visual Studio macro before, here's a couple of instructions:
</p>
        <ol>
          <li>
In Visual Studio, press Alt+F11 to load up the Visual Studio Macro editor (or View
&gt; Other Windows &gt; Macro Explorer &gt; Double Click on "Module1" in "My Macros")</li>
          <li>
Either create a new module of it it's not in use, you can edit Module1 and past in
the code above</li>
          <li>
Save and close the Visual Studio Macro editor</li>
          <li>
You should be back in Visual Studio so click "Tools &gt; Options &gt; Environment
&gt; Keyboard"</li>
          <li>
In the "Show commands containing" text box, enter "CollapseTree" and the macro you
just created should be shown.</li>
          <li>
Make sure "Global" is selected in the "Use new shortcut in:" drop down list</li>
          <li>
Press Ctrl+Shift+` in the "Press shortcut keys:" text box</li>
          <li>
Click Assign</li>
          <li>
Click OK</li>
        </ol>
        <p>
You're done :)
</p>
        <img width="0" height="0" src="http://blogs.thesitedoctor.co.uk/test/aggbug.ashx?id=07139039-07ca-4b5a-8cc7-c9a9f62f9a32" />
      </body>
      <title>Collapse all Solution Explorer items in Visual Studio 2010</title>
      <guid isPermaLink="false">http://blogs.thesitedoctor.co.uk/test/PermaLink,guid,07139039-07ca-4b5a-8cc7-c9a9f62f9a32.aspx</guid>
      <link>http://blogs.thesitedoctor.co.uk/test/2010/02/27/CollapseAllSolutionExplorerItemsInVisualStudio2010.aspx</link>
      <pubDate>Sat, 27 Feb 2010 12:22:48 GMT</pubDate>
      <description>&lt;p&gt;
Ever wanted to be able to collapse all items within Visual Studio's solution window?
This is a nifty little Visual Studio macro that I came across a few years ago and
have been using successfully in Visual Studio 2005, Visual Studio 2008 and now in
the Visual Studio 2010 RC.
&lt;/p&gt;
&lt;p&gt;
I'll overview how to install it below in case you're unsure how to do it but I have
this bound to the key combination Ctrl+Shift+` as ReSharper now uses my previous key
combination of Ctrl+` for it's new bookmark explorer.
&lt;/p&gt;
&lt;p&gt;
Anyway, here's the Visual Studio Solution Explorer item Collapse All macro:
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:509f3fe6-631a-4dea-9434-fbeaed4328bf" class="wlWriterEditableSmartContent"&gt;&lt;pre class="brush: vb"&gt;Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
'-----------------------------------------------------------
' CollapseAll Module
'-----------------------------------------------------------
' Simple macro that fully collapses all items in the 
' Solution Explorer rather than just the top level node
'
' To make live easier, bind it to a keyboard setting such
' as Ctrl+Shift+` which by default has no bindings (Ctrl+` is
' now used by Resharper
'
' Tested and works with:
' Visual Studio 2005
' Visual Studio 2008
' Visual Studio 2010
'
' Originally from: http://bit.ly/bmRu3W
'-----------------------------------------------------------
Public Module CollapseAll

    Sub CollapseTree()
        ' Get the the Solution Explorer tree
        Dim solutionExplorer As UIHierarchy
        solutionExplorer = DTE.Windows.Item(Constants.vsext_wk_SProjectWindow).Object()

        ' Check if there is any open solution
        If (solutionExplorer.UIHierarchyItems.Count = 0) Then
            Return
        End If

        ' Get the top node (the name of the solution)
        Dim rootNode As UIHierarchyItem = solutionExplorer.UIHierarchyItems.Item(1)
        rootNode.DTE.SuppressUI = True

        ' Collapse each project node
        Collapse(rootNode, solutionExplorer)

        ' Select the solution node, or else when you click 
        ' on the solution window
        ' scrollbar, it will synchronize the open document 
        ' with the tree and pop
        ' out the corresponding node which is probably not what you want.
        rootNode.Select(vsUISelectionType.vsUISelectionTypeSelect)
        rootNode.DTE.SuppressUI = False
    End Sub

    Private Sub Collapse(ByVal item As UIHierarchyItem, ByRef solutionExplorer As UIHierarchy)
        For Each innerItem As UIHierarchyItem In item.UIHierarchyItems
            If innerItem.UIHierarchyItems.Count &amp;gt; 0 Then
                ' Re-cursive call
                Collapse(innerItem, solutionExplorer)
                ' Collapse
                If innerItem.UIHierarchyItems.Expanded Then
                    innerItem.UIHierarchyItems.Expanded = False
                    If innerItem.UIHierarchyItems.Expanded = True Then
                        ' Bug in VS 2005
                        innerItem.Select(vsUISelectionType.vsUISelectionTypeSelect)
                        solutionExplorer.DoDefaultAction()
                    End If
                End If

            End If
        Next
    End Sub
End Module&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
In case you've never installed a Visual Studio macro before, here's a couple of instructions:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
In Visual Studio, press Alt+F11 to load up the Visual Studio Macro editor (or View
&amp;gt; Other Windows &amp;gt; Macro Explorer &amp;gt; Double Click on "Module1" in "My Macros")&lt;/li&gt;
&lt;li&gt;
Either create a new module of it it's not in use, you can edit Module1 and past in
the code above&lt;/li&gt;
&lt;li&gt;
Save and close the Visual Studio Macro editor&lt;/li&gt;
&lt;li&gt;
You should be back in Visual Studio so click "Tools &amp;gt; Options &amp;gt; Environment
&amp;gt; Keyboard"&lt;/li&gt;
&lt;li&gt;
In the "Show commands containing" text box, enter "CollapseTree" and the macro you
just created should be shown.&lt;/li&gt;
&lt;li&gt;
Make sure "Global" is selected in the "Use new shortcut in:" drop down list&lt;/li&gt;
&lt;li&gt;
Press Ctrl+Shift+` in the "Press shortcut keys:" text box&lt;/li&gt;
&lt;li&gt;
Click Assign&lt;/li&gt;
&lt;li&gt;
Click OK&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
You're done :)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blogs.thesitedoctor.co.uk/test/aggbug.ashx?id=07139039-07ca-4b5a-8cc7-c9a9f62f9a32" /&gt;</description>
      <comments>http://blogs.thesitedoctor.co.uk/test/CommentView,guid,07139039-07ca-4b5a-8cc7-c9a9f62f9a32.aspx</comments>
      <category>Development</category>
      <category>Productivity</category>
      <category>Software/Visual Studio</category>
    </item>
    <item>
      <trackback:ping>http://blogs.thesitedoctor.co.uk/test/Trackback.aspx?guid=f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2</trackback:ping>
      <pingback:server>http://blogs.thesitedoctor.co.uk/test/pingback.aspx</pingback:server>
      <pingback:target>http://blogs.thesitedoctor.co.uk/test/PermaLink,guid,f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2.aspx</pingback:target>
      <dc:creator>Tim</dc:creator>
      <wfw:comment>http://blogs.thesitedoctor.co.uk/test/CommentView,guid,f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2.aspx</wfw:comment>
      <wfw:commentRss>http://blogs.thesitedoctor.co.uk/test/SyndicationService.asmx/GetEntryCommentsRss?guid=f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A little irritation/time consuming process when you're working with multiple projects
on multiple drives/SVN repos/directories is to open the current file's location within
Windows Explorer. If you weren't already aware, you can do this from most projects/files
by right clicking on the project in the solution browser:
</p>
        <img height="95" src="http://blogs.thesitedoctor.co.uk/tim/img/OpenWindowsExplorerContext.png" width="236" />
        <p>
Problem for me (and my mate Chris) is that not only is it just for the Project Item
but more importantly it means using the mouse -which is something I'm trying to avoid
as much as possible. Then I stumbled across a couple of posts which suggested <a href="http://www.neilpullinger.co.uk/2008/03/open-visual-studio-project-folder-in.html">opening
Windows Explorer</a><a href="http://www.beyondweblogs.com/post/Open-Windows-Explorer-(with-current-project-files)-in-Visual-Studio-Tools-menu.aspx">with
Visual Studio's</a> External Tools dialog.
</p>
        <p>
They're both great ideas but you still need to use the mouse so I thought I'd take
the final step and wire up some keyboard shortcuts. I'll recap the process here as
I've added/grouped a few of their settings.
</p>
        <h2>Creating the "External Tools"
</h2>
        <p>
There's a little productivity tip here for setting the folder in question the root
of Windows Explorer, this encourages you to focus on just the work in question (though
it can be a little irritating sometimes so I may "undo" this change later.
</p>
        <h3>Custom #1: Open the current solution item in Windows Explorer
</h3>
        <p>
          <strong>Title:</strong> Windows Explorer - Item 
<br /><strong>Command:</strong> explorer.exe 
<br /><strong>Arguments:</strong> /select,"$(ItemPath)"
</p>
        <h3>Custom #2: Open the current Visual Studio project in Windows Explorer
</h3>
        <p>
          <strong>Title:</strong> Windows Explorer - Project Directory 
<br /><strong>Command:</strong> explorer.exe 
<br /><strong>Arguments:</strong> /root,"$(ProjectDir)"
</p>
        <h3>Custom #3: Open the current Visual Studio solution in Windows Explorer
</h3>
        <p>
We've got a number of projects that have useful files/folders stored in the same folder
as the solution file so this one's useful to get quick access to them, I think I'll
use this one a lot when dealing with SVN.
</p>
        <p>
          <strong>Title:</strong> Windows Explorer - Solution Directory 
<br /><strong>Command:</strong> explorer.exe 
<br /><strong>Arguments:</strong> /root,"$(SolutionDir)"
</p>
        <h3>Custom #4: Open the current solution's binary (bin) directory in Windows Explorer
</h3>
        <p>
Useful when you want to get access to the dll i.e. to copy to another folder/upload
just the dll to a website.
</p>
        <p>
          <strong>Title:</strong> Windows Explorer - Binary Directory 
<br /><strong>Command:</strong> explorer.exe 
<br /><strong>Arguments:</strong> "$(TargetDir)"
</p>
        <h3>Custom #5: Open the current solution's target build directory in Windows Explorer
</h3>
        <p>
This is useful when you have a project that builds to another directory (i.e. a common
DLL directory, I'm not sure how many people do this but I've got a couple of projects
that do this so I thought I'd share it).
</p>
        <p>
          <strong>Title:</strong> Windows Explorer - Target Directory 
<br /><strong>Command:</strong> explorer.exe 
<br /><strong>Arguments:</strong> "$(BinDir)"
</p>
        <p>
In all instances you can leave the <strong>Initial Directory</strong> field empty.
</p>
        <p>
          <strong>Note:</strong> On a couple of the directory related commands I've set the
"/root" argument, this is a useful little productivity tip I learn a while ago to
stop you navigating away from your work. Irritatingly I've not found a way of using
the /select and /root commands together. It would also be nice to say "Open the bin
folder and set the root to the project folder" but again I've not found a way.
</p>
        <p>
If you're interested in the arguments I'm using there, check out the <a href="http://support.microsoft.com/kb/307856">Microsoft
Support article about How To Customize the Windows Explorer Views in Windows XP</a> (these
also work in Vista). Alternatively you can read more about the <a href="http://msdn.microsoft.com/en-us/library/c02as0cs.aspx">Visual
Studio macros for build commands here</a> (some of which are global I believe). I'm
interested to see the use of $(TargetDir) as although it'll be useful for non-web
projects, however using <a href="http://weblogs.asp.net/scottgu/archive/2008/01/28/vs-2008-web-deployment-project-support-released.aspx">Web
Deployment Projects</a> might make it irrelevant for you.
</p>
        <p>
You should now have 5 new items in your Tools' toolbar:
</p>
        <p>
          <img height="187" src="http://blogs.thesitedoctor.co.uk/tim/img/NewToolsMenu_001.png" width="290" />
        </p>
        <h2>Wire up the keyboard shortcuts
</h2>
        <p>
As mentioned earlier, I want keyboard shortcuts but if you want toolbar icons, you
should checkout the <a href="http://www.neilpullinger.co.uk/2008/03/open-visual-studio-project-folder-in.html">end
of this post</a>.
</p>
        <p>
Open up the Keyboard settings within the Visual Studio Option dialog (Tools -&gt;
Options -&gt; Environment -&gt; Keyboard) -you may need to select the "Show all settings"
checkbox in the bottom left of the Options dialog to see the Keyboard option.
</p>
        <p>
In the <strong>Show commands containing</strong> field enter "Tools.ExternalCommand"
to list the set of commands, irritatingly it just labels each command as "Tools.ExternalCommand#"
for each command so this bit will require a little thinking on your behalf. My commands
are #2-6 (#1 is the Dotfuscator Community Edition command).
</p>
        <p>
I would then wire up the following shortcuts (I've set them up Globally for convenience):
</p>
        <p>
          <strong>
            <em>Tools.ExternalCommand2</em> (Current Item):</strong> Ctrl+E, I 
<br /><strong><em>Tools.ExternalCommand3</em> (Current Project):</strong> Ctrl+E, P 
<br /><strong><em>Tools.ExternalCommand4</em> (Current Solution):</strong> Ctrl+E, S 
<br /><strong><em>Tools.ExternalCommand5</em> (Bin dir):</strong> Ctrl+E, B 
<br /><strong><em>Tools.ExternalCommand6</em> (Target dir):</strong> Ctrl+E, T
</p>
        <p>
          <img height="428" src="http://blogs.thesitedoctor.co.uk/tim/img/KeyboardShortcuts.png" width="747" />
        </p>
        <p>
To enter these shortcuts simply press the first combination (in this case Ctrl+E),
then press the second key (I -item, P -project, S -solution, B -binary, T -target).
I found that a couple of these were already wired up to ReSharper and Pex which is
a pain but I don't tend to use those particular shortcuts so I just overrode them
</p>
        <p>
Now you should be able to press Ctrl+E followed by I and get your current item in
Explorer.
</p>
        <p>
It'd be nice if I could get it to use a single instance of Explorer and just refocus
the items (on another key combo as that's not always the desired action).
</p>
        <strong>Update:</strong> After using it a little, I've noticed that in my projects,
I had the Bin/TargetDir the wrong way around (now corrected).<img width="0" height="0" src="http://blogs.thesitedoctor.co.uk/test/aggbug.ashx?id=f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2" /></body>
      <title>Visual Studio Tip of the day: Open files/folders in Windows Explorer</title>
      <guid isPermaLink="false">http://blogs.thesitedoctor.co.uk/test/PermaLink,guid,f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2.aspx</guid>
      <link>http://blogs.thesitedoctor.co.uk/test/2009/03/02/VisualStudioTipOfTheDayOpenFilesfoldersInWindowsExplorer.aspx</link>
      <pubDate>Mon, 02 Mar 2009 11:09:25 GMT</pubDate>
      <description>&lt;p&gt;
A little irritation/time consuming process when you're working with multiple projects
on multiple drives/SVN repos/directories is to open the current file's location within
Windows Explorer. If you weren't already aware, you can do this from most projects/files
by right clicking on the project in the solution browser:
&lt;/p&gt;
&lt;img height="95" src="http://blogs.thesitedoctor.co.uk/tim/img/OpenWindowsExplorerContext.png" width="236" /&gt; 
&lt;p&gt;
Problem for me (and my mate Chris) is that not only is it just for the Project Item
but more importantly it means using the mouse -which is something I'm trying to avoid
as much as possible. Then I stumbled across a couple of posts which suggested &lt;a href="http://www.neilpullinger.co.uk/2008/03/open-visual-studio-project-folder-in.html"&gt;opening
Windows Explorer&lt;/a&gt; &lt;a href="http://www.beyondweblogs.com/post/Open-Windows-Explorer-(with-current-project-files)-in-Visual-Studio-Tools-menu.aspx"&gt;with
Visual Studio's&lt;/a&gt; External Tools dialog.
&lt;/p&gt;
&lt;p&gt;
They're both great ideas but you still need to use the mouse so I thought I'd take
the final step and wire up some keyboard shortcuts. I'll recap the process here as
I've added/grouped a few of their settings.
&lt;/p&gt;
&lt;h2&gt;Creating the "External Tools"
&lt;/h2&gt;
&lt;p&gt;
There's a little productivity tip here for setting the folder in question the root
of Windows Explorer, this encourages you to focus on just the work in question (though
it can be a little irritating sometimes so I may "undo" this change later.
&lt;/p&gt;
&lt;h3&gt;Custom #1: Open the current solution item in Windows Explorer
&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Title:&lt;/strong&gt; Windows Explorer - Item 
&lt;br /&gt;
&lt;strong&gt;Command:&lt;/strong&gt; explorer.exe 
&lt;br /&gt;
&lt;strong&gt;Arguments:&lt;/strong&gt; /select,&amp;quot;$(ItemPath)&amp;quot;
&lt;/p&gt;
&lt;h3&gt;Custom #2: Open the current Visual Studio project in Windows Explorer
&lt;/h3&gt;
&lt;p&gt;
&lt;strong&gt;Title:&lt;/strong&gt; Windows Explorer - Project Directory 
&lt;br /&gt;
&lt;strong&gt;Command:&lt;/strong&gt; explorer.exe 
&lt;br /&gt;
&lt;strong&gt;Arguments:&lt;/strong&gt; /root,&amp;quot;$(ProjectDir)&amp;quot;
&lt;/p&gt;
&lt;h3&gt;Custom #3: Open the current Visual Studio solution in Windows Explorer
&lt;/h3&gt;
&lt;p&gt;
We've got a number of projects that have useful files/folders stored in the same folder
as the solution file so this one's useful to get quick access to them, I think I'll
use this one a lot when dealing with SVN.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Title:&lt;/strong&gt; Windows Explorer - Solution Directory 
&lt;br /&gt;
&lt;strong&gt;Command:&lt;/strong&gt; explorer.exe 
&lt;br /&gt;
&lt;strong&gt;Arguments:&lt;/strong&gt; /root,&amp;quot;$(SolutionDir)&amp;quot;
&lt;/p&gt;
&lt;h3&gt;Custom #4: Open the current solution's binary (bin) directory in Windows Explorer
&lt;/h3&gt;
&lt;p&gt;
Useful when you want to get access to the dll i.e. to copy to another folder/upload
just the dll to a website.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Title:&lt;/strong&gt; Windows Explorer - Binary Directory 
&lt;br /&gt;
&lt;strong&gt;Command:&lt;/strong&gt; explorer.exe 
&lt;br /&gt;
&lt;strong&gt;Arguments:&lt;/strong&gt; &amp;quot;$(TargetDir)&amp;quot;
&lt;/p&gt;
&lt;h3&gt;Custom #5: Open the current solution's target build directory in Windows Explorer
&lt;/h3&gt;
&lt;p&gt;
This is useful when you have a project that builds to another directory (i.e. a common
DLL directory, I'm not sure how many people do this but I've got a couple of projects
that do this so I thought I'd share it).
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Title:&lt;/strong&gt; Windows Explorer - Target Directory 
&lt;br /&gt;
&lt;strong&gt;Command:&lt;/strong&gt; explorer.exe 
&lt;br /&gt;
&lt;strong&gt;Arguments:&lt;/strong&gt; &amp;quot;$(BinDir)&amp;quot;
&lt;/p&gt;
&lt;p&gt;
In all instances you can leave the &lt;strong&gt;Initial Directory&lt;/strong&gt; field empty.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Note:&lt;/strong&gt; On a couple of the directory related commands I've set the
"/root" argument, this is a useful little productivity tip I learn a while ago to
stop you navigating away from your work. Irritatingly I've not found a way of using
the /select and /root commands together. It would also be nice to say "Open the bin
folder and set the root to the project folder" but again I've not found a way.
&lt;/p&gt;
&lt;p&gt;
If you're interested in the arguments I'm using there, check out the &lt;a href="http://support.microsoft.com/kb/307856"&gt;Microsoft
Support article about How To Customize the Windows Explorer Views in Windows XP&lt;/a&gt; (these
also work in Vista). Alternatively you can read more about the &lt;a href="http://msdn.microsoft.com/en-us/library/c02as0cs.aspx"&gt;Visual
Studio macros for build commands here&lt;/a&gt; (some of which are global I believe). I'm
interested to see the use of $(TargetDir) as although it'll be useful for non-web
projects, however using &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/01/28/vs-2008-web-deployment-project-support-released.aspx"&gt;Web
Deployment Projects&lt;/a&gt; might make it irrelevant for you.
&lt;/p&gt;
&lt;p&gt;
You should now have 5 new items in your Tools' toolbar:
&lt;/p&gt;
&lt;p&gt;
&lt;img height="187" src="http://blogs.thesitedoctor.co.uk/tim/img/NewToolsMenu_001.png" width="290" /&gt;
&lt;/p&gt;
&lt;h2&gt;Wire up the keyboard shortcuts
&lt;/h2&gt;
&lt;p&gt;
As mentioned earlier, I want keyboard shortcuts but if you want toolbar icons, you
should checkout the &lt;a href="http://www.neilpullinger.co.uk/2008/03/open-visual-studio-project-folder-in.html"&gt;end
of this post&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Open up the Keyboard settings within the Visual Studio Option dialog (Tools -&amp;gt;
Options -&amp;gt; Environment -&amp;gt; Keyboard) -you may need to select the "Show all settings"
checkbox in the bottom left of the Options dialog to see the Keyboard option.
&lt;/p&gt;
&lt;p&gt;
In the &lt;strong&gt;Show commands containing&lt;/strong&gt; field enter "Tools.ExternalCommand"
to list the set of commands, irritatingly it just labels each command as "Tools.ExternalCommand#"
for each command so this bit will require a little thinking on your behalf. My commands
are #2-6 (#1 is the Dotfuscator Community Edition command).
&lt;/p&gt;
&lt;p&gt;
I would then wire up the following shortcuts (I've set them up Globally for convenience):
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;&lt;em&gt;Tools.ExternalCommand2&lt;/em&gt; (Current Item):&lt;/strong&gt; Ctrl+E, I 
&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;Tools.ExternalCommand3&lt;/em&gt; (Current Project):&lt;/strong&gt; Ctrl+E, P 
&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;Tools.ExternalCommand4&lt;/em&gt; (Current Solution):&lt;/strong&gt; Ctrl+E, S 
&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;Tools.ExternalCommand5&lt;/em&gt; (Bin dir):&lt;/strong&gt; Ctrl+E, B 
&lt;br /&gt;
&lt;strong&gt;&lt;em&gt;Tools.ExternalCommand6&lt;/em&gt; (Target dir):&lt;/strong&gt; Ctrl+E, T
&lt;/p&gt;
&lt;p&gt;
&lt;img height="428" src="http://blogs.thesitedoctor.co.uk/tim/img/KeyboardShortcuts.png" width="747" /&gt;
&lt;/p&gt;
&lt;p&gt;
To enter these shortcuts simply press the first combination (in this case Ctrl+E),
then press the second key (I -item, P -project, S -solution, B -binary, T -target).
I found that a couple of these were already wired up to ReSharper and Pex which is
a pain but I don't tend to use those particular shortcuts so I just overrode them
&lt;/p&gt;
&lt;p&gt;
Now you should be able to press Ctrl+E followed by I and get your current item in
Explorer.
&lt;/p&gt;
&lt;p&gt;
It'd be nice if I could get it to use a single instance of Explorer and just refocus
the items (on another key combo as that's not always the desired action).
&lt;/p&gt;
&lt;strong&gt;Update:&lt;/strong&gt; After using it a little, I've noticed that in my projects,
I had the Bin/TargetDir the wrong way around (now corrected).&lt;img width="0" height="0" src="http://blogs.thesitedoctor.co.uk/test/aggbug.ashx?id=f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2" /&gt;</description>
      <comments>http://blogs.thesitedoctor.co.uk/test/CommentView,guid,f5dcc54e-dfbc-4f79-8bfa-0deeb31902d2.aspx</comments>
      <category>Productivity</category>
      <category>Software/Visual Studio</category>
      <category>The Site Doctor</category>
      <category>Web Development</category>
    </item>
  </channel>
</rss>