Как мне «добавить существующий элемент» всю структуру каталогов в Visual Studio? - PullRequest
750 голосов
/ 12 сентября 2008

У меня есть автономный набор файлов, не связанных ни с одним проектом C #, которые находятся в сложной структуре вложенных каталогов.

Я хочу добавить их в этом формате в другой каталог в веб-приложении ASP.NET, над которым я работаю; сохраняя ту же структуру. Итак, я скопировал папку в целевое местоположение моего проекта и попытался «добавить существующий элемент» только для того, чтобы потерять предыдущую иерархию папок.

Обычно я заново создавал каталоги, копировал их по одному, а затем добавлял существующие элементы. В этом случае просто слишком много каталогов / элементов.

Итак, как добавить существующие каталоги и файлы в Visual Studio 2008?

Ответы [ 17 ]

726 голосов
/ 12 сентября 2008

Перетащите файлы / папки из Windows Explorer в Solution Explorer. Это добавит их всех. Обратите внимание, что это не работает, если Visual Studio находится в режиме администратора, поскольку проводник Windows является процессом в режиме пользователя.

539 голосов
/ 12 сентября 2008

Включить «Показать все файлы» для конкретного проекта (вам может потребоваться нажать «Обновить», чтобы увидеть их) **.

Папки / файлы, которые не являются частью вашего проекта , выглядят немного «светлее» в дереве проекта.

Щелкните правой кнопкой мыши папки / файлы, которые вы хотите добавить, и выберите «Включить в проект» . Он будет рекурсивно добавлять папки / файлы в проект.

** Эти кнопки расположены на мини-панели инструментов Solution Explorer.

** Убедитесь, что вы НЕ в режиме отладки.

89 голосов
/ 11 июля 2012

В обозревателе решений:

  1. Нажмите Показать все файлы (второй значок слева вверху обозревателя решений).
  2. Найдите папку, которую хотите добавить.
  3. Щелкните правой кнопкой мыши и выберите «Включить в проект»

Я использую это для установки надстроек, таких как редакторы HTML и сторонние файловые браузеры.

34 голосов
/ 24 июля 2014

Я просто хочу отметить, что два из предложенных ранее решений

  • Перетаскивание из Проводника Windows
  • Показать все файлы и затем включить в проект.

не делайте того, о чем спрашивал вопрос:

Включить в проект при сохранении структуры каталогов .

По крайней мере, в моем случае (проект C ++ / CLI Visual Studio 2013 в Windows 7).

В Visual Studio, как только вы вернетесь в обычный режим (не Показать все файлы ), все добавленные вами файлы будут перечислены на верхнем уровне проекта.

Да, на диске они все еще находятся там, где они были, но в Solution Explorer они свободны.

Я не нашел способа обойти это, кроме воссоздания структуры каталогов в обозревателе решений и затем Добавить существующие элементы в нужное место.

22 голосов
/ 09 февраля 2012

Я не сразу понял это, основываясь на этих описаниях, но вот что я наконец наткнулся:

  1. Включите «Показать все файлы» - на панели инструментов Solution Explorer есть значок
  2. С помощью проводника Windows (не обозревателя решений) переместите файлы в структуру каталогов, в которой они должны находиться
  3. Нажмите «Обновить» также на панели инструментов Solution Explorer
  4. Файлы, которые вы переместили, должны быть видны "призраками" в древовидной структуре Solution Explorer, куда вы их поместили
  5. Щелкните правой кнопкой мыши по своим призрачным файлам или папкам и выберите «Включить в проект». Все содержимое папки будет включено
16 голосов
/ 25 июля 2016

Ниже приведен значок для Показать все файлы , просто для удобства.

Enter image description here

11 голосов
/ 01 мая 2018

Enter image description here

Нажмите выше в красном круге. Ваша папка появится в обозревателе решений.

Щелкните правой кнопкой мыши по папке -> Включить в проект .

8 голосов
/ 11 июня 2015

Вы можете изменить XML вашего проекта, чтобы автоматически добавлять в него существующие подпапки и структуры, например, "node_modules" из NPM:

Это для более старых версий MSBuild / Visual Studio

<ItemGroup>
   <Item Include="$([System.IO.Directory]::GetFiles(&quot;$(MSBuildProjectDirectory)\node_modules&quot;,&quot;*&quot;,SearchOption.AllDirectories))"></Item>
</ItemGroup>

Для текущих версий MSBuild / Visual Studio:

Просто поместите его в узлы xml:

<Project>
</Project>

В этом случае просто измените $ (MSBuildProjectDirectory) \ node_modules на имя вашей папки.

5 голосов
/ 20 ноября 2011

Вы должны поместить свою структуру каталогов в каталог вашего проекта. А затем нажмите значок «Показать все файлы» в верхней части панели инструментов Solution Explorer. После этого будет добавлен добавленный каталог. Затем вам нужно будет выбрать этот каталог, щелкнуть правой кнопкой мыши и выбрать «Включить в проект».

4 голосов
/ 23 марта 2017

Наконец, Visual Studio 2017 позволяет пользователю импортировать весь каталог одним щелчком мыши. Visual Studio 2017 обладает новой функциональностью «Открыть папку », которая позволяет открывать всю папку даже без необходимости сохранять ее как решение. Исходный код можно импортировать, используя следующие методы.

  1. Меню Файл Открыть → * Папка ( Ctrl + Shift + O )
  2. devenv.exe <source folder>

Он даже поддерживает сборку и отладку проектов CMake.

Перенесите кодовую базу C ++ в Visual Studio с помощью «Открыть папку»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...