Как «Добавить существующий элемент» во всю структуру каталогов в Visual Studio?

StackOverflow https://stackoverflow.com/questions/57776

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Да, на диске они по-прежнему находятся там, где и были, но в Solution Explorer они не закреплены.

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

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

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

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

Enter image description here

Enter image description here

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

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

Вы можете изменить 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) ode_modules на имя вашей папки.

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

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

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

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

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

Вот что я делаю:

  1. Щелкните правой кнопкой мыши решение -> Добавить -> Существующий веб-сайт...
  2. Выберите папку, в которой находится ваш сайт.Просто корневая папка сайта.

Затем в ваше решение будет добавлено все: от папок до файлов и файлов внутри этих папок.

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

Моя Visual Studio открывается автоматически в режиме администратора, поэтому для меня это был хороший обходной путь, поскольку мне не хотелось отменять это только для того, чтобы заставить это работать.

Мне помогло перетащить папку в Visual Studio, затем щелкнуть ее правой кнопкой мыши и выбрать «Открыть папку в проводнике».Затем выберите все и перетащите их в папку в Visual Studio.

Теперь на Marketplace есть расширение с открытым исходным кодом, которое, кажется, делает то, о чем просил ОП:

Папка в папку решения

folder-to-solution-folder

Если он не делает именно то, что вам нужно, код доступен, и вы можете изменить его в соответствии со своим сценарием.

ХТХ

В Windows 7 вы можете сделать следующее:

Щелкните правой кнопкой мыши свой проект и выберите «Добавить->Существующий элемент».В появившемся диалоговом окне перейдите в корень каталога, который вы хотите добавить.В правом верхнем углу у вас есть поле поиска.Тип *.cs или *.cpp, независимо от типа файлов, которые вы хотите добавить.После завершения поиска выберите все файлы, нажмите «Добавить» и подождите некоторое время...

Самый чистый способ, который я нашел, — создать новый проект библиотеки классов в целевой папке и перенаправить весь вывод его сборки в другое место.В этой папке по-прежнему остается файл .csproj, но вы можете просмотреть его в Visual Studio и выбрать, какие файлы включить в ваш проект.

Раздражает то, что Visual Studio не поддерживает это изначально, но CMake может создать проект Visual Studio в качестве обходного пути.

Кроме этого, просто используйте Qt Creator.Затем он может экспортировать проект Visual Studio.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top