> ## Content Index
> Fetch the complete content index at: https://blog.tsd.digital/llms.txt
> Use this file to discover other available public pages before exploring further.

# Visual Studio Tip of the day: Open files/folders in Windows Explorer
- URL: https://blog.tsd.digital/visual-studio-tip-of-the-day-open-filesfolders-in-windows-explorer/
- Published: 2009-03-02T11:09:25.000Z
- Updated: 2009-03-02T11:09:25.000Z
- Author: Tim Gaunt
- Tags: Productivity, Visual Studio, Web Development, The Site Doctor, #Import 2025-04-01 05:37

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:

![](https://storage.ghost.io/c/64/5b/645b11c2-b436-444c-a523-58dca4ca7bd8/content/images/tim/img/OpenWindowsExplorerContext.png)

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 [opening Windows Explorer](http://www.neilpullinger.co.uk/2008/03/open-visual-studio-project-folder-in.html?ref=blog.tsd.digital)[with Visual Studio's](http://www.beyondweblogs.com/post/Open-Windows-Explorer-%28with-current-project-files%29-in-Visual-Studio-Tools-menu.aspx?ref=blog.tsd.digital) External Tools dialog.

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.

## Creating the "External Tools"

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.

### Custom #1: Open the current solution item in Windows Explorer

**Title:** Windows Explorer - Item **Command:** explorer.exe **Arguments:** /select,"$(ItemPath)"

### Custom #2: Open the current Visual Studio project in Windows Explorer

**Title:** Windows Explorer - Project Directory **Command:** explorer.exe **Arguments:** /root,"$(ProjectDir)"

### Custom #3: Open the current Visual Studio solution in Windows Explorer

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.

**Title:** Windows Explorer - Solution Directory **Command:** explorer.exe **Arguments:** /root,"$(SolutionDir)"

### Custom #4: Open the current solution's binary (bin) directory in Windows Explorer

Useful when you want to get access to the dll i.e. to copy to another folder/upload just the dll to a website.

**Title:** Windows Explorer - Binary Directory **Command:** explorer.exe **Arguments:** "$(TargetDir)"

### Custom #5: Open the current solution's target build directory in Windows Explorer

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

**Title:** Windows Explorer - Target Directory **Command:** explorer.exe **Arguments:** "$(BinDir)"

In all instances you can leave the **Initial Directory** field empty.

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

If you're interested in the arguments I'm using there, check out the [Microsoft Support article about How To Customize the Windows Explorer Views in Windows XP](http://support.microsoft.com/kb/307856?ref=blog.tsd.digital) (these also work in Vista). Alternatively you can read more about the [Visual Studio macros for build commands here](http://msdn.microsoft.com/en-us/library/c02as0cs.aspx?ref=blog.tsd.digital) (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 [Web Deployment Projects](http://weblogs.asp.net/scottgu/archive/2008/01/28/vs-2008-web-deployment-project-support-released.aspx?ref=blog.tsd.digital) might make it irrelevant for you.

You should now have 5 new items in your Tools' toolbar:

![](https://storage.ghost.io/c/64/5b/645b11c2-b436-444c-a523-58dca4ca7bd8/content/images/tim/img/NewToolsMenu_001.png)

## Wire up the keyboard shortcuts

As mentioned earlier, I want keyboard shortcuts but if you want toolbar icons, you should checkout the [end of this post](http://www.neilpullinger.co.uk/2008/03/open-visual-studio-project-folder-in.html?ref=blog.tsd.digital).

Open up the Keyboard settings within the Visual Studio Option dialog (Tools -> Options -> Environment -> Keyboard) -you may need to select the "Show all settings" checkbox in the bottom left of the Options dialog to see the Keyboard option.

In the **Show commands containing** 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).

I would then wire up the following shortcuts (I've set them up Globally for convenience):

Tools.ExternalCommand2 **(Current Item):** Ctrl+E, I Tools.ExternalCommand3 **(Current Project):** Ctrl+E, P Tools.ExternalCommand4 **(Current Solution):** Ctrl+E, S Tools.ExternalCommand5 **(Bin dir):** Ctrl+E, B Tools.ExternalCommand6 **(Target dir):** Ctrl+E, T

![](https://storage.ghost.io/c/64/5b/645b11c2-b436-444c-a523-58dca4ca7bd8/content/images/tim/img/KeyboardShortcuts.png)

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

Now you should be able to press Ctrl+E followed by I and get your current item in Explorer.

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

Update: