How do I "Add Existing Item" an entire directory structure in Visual Studio?

Drag the files / folders from Windows Explorer into the Solution Explorer. It will add them all. Note this doesn't work if Visual Studio is in Administrator Mode, because Windows Explorer is a User Mode process.


Enable "Show All Files" for the specific project (you might need to hit "Refresh" to see them)**.

The folders/files that are not part of your project appear slightly "lighter" in the project tree.

Right click the folders/files you want to add and click "Include In Project". It will recursively add folders/files to the project.

** These buttons are located on the mini Solution Explorer toolbar.

** Make sure you are NOT in debug mode.


In Solution Explorer:

  1. Click Show All Files (second icon from the left at the top of Solution Explorer).
  2. Locate the folder you want to add.
  3. Right-click and select "Include in Project"

I use this to install add-ons like HTML editors and third-party file browsers.


I just want to point out that two of the solutions offered previously,

  • Drag and drop from Windows Explorer
  • Show All Files and then include in project.

do not do what the question asked for:

Include in project while preserving the directory structure.

At least not in my case (C++/CLI project Visual Studio 2013 on Windows 7).

In Visual Studio, once you are back in the normal view (not Show All Files), the files you added are all listed at the top level of the project.

Yes, on disk they still reside where they were, but in Solution Explorer they are loose.

I did not find a way around it except recreating the directory structure in Solution Explorer and then doing Add Existing Items at the right location.


I didn't immediately understand this based upon these descriptions but here is what I finally stumbled on:

  1. Turn on "Show All Files" - there is an icon on the Solution Explorer toolbar
  2. Using Windows Explorer (not solution explorer), move your files into the directory structure where you want them to reside
  3. Click "Refresh" also on the Solution Explorer toolbar
  4. The files that you've moved should be visible "ghosted" in the Solution Explorer tree structure where you've placed them
  5. Right click on your ghosted files or folders and click "Include in Project". All the contents of a folder will be included