Visual Studio에서 전체 디렉토리 구조를 "기존 항목 추가"는 어떻게합니까?


765

복잡한 중첩 디렉토리 구조에있는 C # 프로젝트와 관련이없는 독립형 파일 세트가 있습니다.

작업중 인 ASP.NET 웹 응용 프로그램의 다른 디렉토리에 해당 형식으로 추가하고 싶습니다. 동일한 구조를 유지하면서. 따라서 폴더를 프로젝트의 대상 위치에 복사하고 이전 폴더 계층 구조를 잃어 버리기 위해서만 "기존 항목 추가"를 시도했습니다.

일반적으로 디렉토리를 직접 작성하고 일대일로 복사 한 다음 기존 항목을 추가했습니다. 이 경우 디렉토리 / 항목이 너무 많습니다.

그렇다면 Visual Studio 2008에서 기존 디렉토리와 파일을 어떻게 추가합니까?


44
이것이 나를 포함하여 대부분의 사람들에게 이것이 분명하지 않다는 사실은 Visual Studio에 대한 슬픈 증거입니다.
Pete Alvin

22
@ Pet Alvin Visual Studio에 대한 많은 슬픈 증거가 있지만 다른 IDE와 함께 시간을 보냈으므로 더 감사합니다.
Freek Nortier

4
그러나 Visual Studio는 완벽하지는 않지만 가능한 모든 IDE를 사용했습니다. 만약 최고입니다. 이클립스는 그리 가깝지 않으며 Xcode는 아마도 유일한 유일한 것입니다.
user1127081

2
@ user1127081 : 이것을 두 번째로해야합니다. Visual Studio는 완벽하지는 않지만 거의 모든 개발 및 대상 OS를 위해 다른 모든 IDE를 사용했으며 모두 나빠졌습니다. 또한 Xcode가 명확하고 훨씬 뛰어나다는 것에 동의해야하지만 Xcode 3과 Xcode 4 사이에서 많은 것을 승인 한 후에야 그렇게되었습니다. Eclipse는 악몽입니다.
Kaiserludi

답변:


737

파일 / 폴더를 Windows 탐색기에서 솔루션 탐색기로 드래그하십시오. 그것들이 모두 추가됩니다. Windows 탐색기는 사용자 모드 프로세스이므로 Visual Studio가 관리자 모드 인 경우에는 작동하지 않습니다.


42
이것은 나를 위해 작동하지 않습니다. 유효하지 않은 놓기 대상의 아이콘을 제공합니다. 아래의 모든 파일 표시는 완벽하게 작동합니다
Cine

115
VS 2010에서는 끌어서 놓은 폴더를 가져온 후 프로젝트에 모든 파일 표시 옵션을 선택하십시오. 파일은 "고스트"형식으로 존재하며 폴더를 마우스 오른쪽 버튼으로 클릭하고 프로젝트에 포함을 클릭하십시오. 그들은 다음에 추가 될 것입니다
John Ptacek

10
@ JohnPtacek : 프로젝트에서는 작동하지만 솔루션에서는 작동하지 않습니다.

2
이 답변은 VS2010에는 유효하지 않습니다 (적어도 말할 수있는 한). 12/7/12에 대한 Tom의 답변은 VS2010에서 나에게 가장 적합한 솔루션이었습니다
BLSully

8
작업 관리자를 사용하여 explorer.exe를 종료하고 관리자로 시작한 다음 관리자로 실행중인 경우에도 Visual Studio로 끌어서 놓을 수 있습니다.
xander

545

특정 프로젝트에 대해 "모든 파일 표시"를 활성화하십시오 ( 파일 을 보려면 "새로 고침"을 누르십시오) **.

프로젝트의 일부가 아닌 폴더 / 파일 은 프로젝트 트리에서 약간 "더 밝게"나타납니다 .

추가하려는 폴더 / 파일을 마우스 오른쪽 버튼으로 클릭 하고 "프로젝트에 포함"을 클릭하십시오 . 폴더 / 파일을 재귀 적으로 프로젝트에 추가합니다.

**이 버튼은 미니 솔루션 탐색기 도구 모음에 있습니다.

** 디버그 모드가 아닌지 확인하십시오.


2
이것은 프로젝트 파일보다 더 깊은 파일에서만 작동하는 것 같습니다. 프로젝트 파일을 자체 폴더에 보관하면 작동하지 않습니다.
Danny Parker

28
이것은 개별 프로젝트에서만 작동하지만 솔루션에서는 작동하지 않습니다.

7
어 ... 파일을 넣을 곳이 아닙니다. 물론 루트 폴더 위에서 파일을 찾지는 못할 것입니다.
Bluebaron

3
추가 한 폴더가 프로젝트 폴더에 상주 할 때만 작동합니다. 제 경우에는 다른 곳 (프로젝트간에 공유)이되기를 바랍니다. XCode에서 폴더 구조를 임의의 위치에서 프로젝트 구조로 드래그하면 폴더 구조가 VS처럼 평평 해지는 대신 폴더 구조가 유지됩니다. VS에 기능이없는 것 같습니다.
Mattijs

9
팁-솔루션이 아닌 프로젝트가 선택되었는지 확인하십시오. 그러면 모두 표시 할 수 있습니다!
niico

89

솔루션 탐색기에서 :

  1. 모든 파일 표시 (솔루션 탐색기 상단 왼쪽에서 두 번째 아이콘)를 클릭하십시오 .
  2. 추가하려는 폴더를 찾으십시오.
  3. 마우스 오른쪽 버튼을 클릭하고 "프로젝트에 포함"을 선택하십시오.

이것을 사용하여 HTML 편집기 및 타사 파일 브라우저와 같은 애드온을 설치합니다.


16
이것은 4 년 전의 Brannon의 답변과 어떻게 다릅니 까?
ToolmakerSteve

7
솔루션 폴더에 대한 원래 문제는 해결하지 못합니다 . 또한 이전에 다루어졌습니다.
user2864740

@ToolmakerSteve : 7 년 전의 Gant 솔루션과 동일하다는 점이 다릅니다. stackoverflow.com/questions/392473/…
Veverke

충돌하는 csproj 파일을 체크인하고 tfs가 충돌을 무시하고 덮어 쓸 때 도움이되므로이 솔루션을 적극 권장합니다.
John Demetriou

6
+1. 이 답변 은 상황에 맞는 메뉴의 항목이 아니라 모든 파일 표시가 아이콘 이라는 것을 상대적으로 명확하게하기 때문에 다른 답변보다 더 유용 합니다.

35

방금 이전에 제공된 두 가지 솔루션을 지적하고 싶습니다.

  • Windows 탐색기에서 끌어서 놓기
  • 모든 파일 표시 후 프로젝트에 포함하십시오.

질문에 대한 요청을하지 마십시오 :

디렉토리 구조를 유지하면서 프로젝트에 포함합니다 .

적어도 내 경우에는 아닙니다 (Windows 7의 C ++ / CLI 프로젝트 Visual Studio 2013).

Visual Studio에서 모든 파일 표시가 아닌 일반보기로 돌아 오면 추가 한 파일이 모두 프로젝트의 최상위 수준에 나열됩니다.

예, 디스크에는 여전히 원래 있던 곳에 있지만 솔루션 탐색기에서는 느슨합니다.

솔루션 탐색기에서 디렉토리 구조를 다시 만든 다음 올바른 위치에서 기존 항목 추가 를 수행하는 것을 제외하고는 그 방법을 찾지 못했습니다 .


VS2010, c ++과 동일한 동작을 봅니다.
Radim Cernej

Visual Studio 2010에서도 마찬가지입니다. 디렉토리 구조없이 파일을 추가하지 않으며 하위 폴더가 아닌 해당 폴더 구조 내의 첫 번째 파일 만 추가합니다.
Jonas

2
동의하지만 여전히 다릅니다. VS와 같은 인기 있고 비싼 소프트웨어에 이러한 기능이 어떻게 부족한지 궁금합니다. 솔루션 탐색기와 Windows 탐색기에 서로 다른 두 가지 유사 구조가있는 것이 다소 혼란 스럽다고 생각합니다.
Janis

12
여기에서 2015를 사용하십시오. 여전히 폴더 구조를 유지하지 않습니다. 기절.
Toby Deshane

2015 Update 3을 사용하여 Bannon과 Tom의 접근 방식으로 성공했습니다. 모든 중첩 폴더가 예상대로 들어 왔습니다.
John Hatton

22

나는이 설명에 기초하여 이것을 즉시 이해하지 못했지만 여기에 마침내 넘어졌습니다.

  1. "모든 파일 표시"를 켜십시오-솔루션 탐색기 도구 모음에 아이콘이 있습니다
  2. Windows 탐색기 (솔루션 탐색기가 아님)를 사용하여 파일을 원하는 디렉토리 구조로 파일을 이동하십시오.
  3. 솔루션 탐색기 도구 모음에서도 "새로 고침"을 클릭하십시오
  4. 이동 한 파일은 배치 한 솔루션 탐색기 트리 구조에서 "고스트"상태 여야합니다.
  5. 고스트 파일이나 폴더를 마우스 오른쪽 버튼으로 클릭하고 "프로젝트에 포함"을 클릭하십시오. 폴더의 모든 내용이 포함됩니다

2
프로젝트가 아닌 솔루션 폴더를위한 것입니다.
StingyJack

업데이트 : VS2019에는 "refres"버튼이 없다
리우 하오


13

여기에 이미지 설명을 입력하십시오

빨간색 원에서 위를 클릭하십시오. 폴더가 솔루션 탐색기에 나타납니다.

폴더-> 프로젝트에 포함을 마우스 오른쪽 버튼으로 클릭하십시오 .


9

NPM의 "node_modules"와 같이 프로젝트에 기존 하위 폴더 및 구조를 자동으로 추가하도록 프로젝트 XML을 변경할 수 있습니다.

이전 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를 폴더 이름으로 변경하십시오.


그러나 때때로 *. * proj 파일을 수동으로 편집하면 원하는 곳으로 이동할 수 있습니다.
Chris O

1
당신은 누군가가 이것을 할 수있는 플러그인을 만들 수 있다고 말하고 있습니까? xml에 수십 개의 폴더가있는 폴더 구조를 다시 만들지 않기 때문에
Spectraljump

내가 찾던 것
Vitaliy Kalinin

5

디렉토리 구조를 프로젝트 디렉토리에 넣어야합니다. 그런 다음 솔루션 탐색기 도구 상자 상단에서 "모든 파일 표시"아이콘을 클릭하십시오. 그 후 추가 된 디렉토리가 표시됩니다. 그런 다음이 디렉토리를 선택하고 마우스 오른쪽 단추를 클릭 한 다음 "프로젝트에 포함"을 선택하십시오.


1
이것은 받아 들인 대답이 제안하는 것과 거의 일치합니다.
Kev

4

이것이 제가하는 것입니다:

  1. 솔루션-> 추가-> 기존 웹 사이트를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 웹 사이트가있는 폴더를 선택하십시오. 사이트의 루트 폴더입니다.

그런 다음 폴더에서 파일 및 해당 폴더 내의 파일에 이르기까지 모든 것이 솔루션에 추가됩니다.


4

마침내 Visual Studio 2017에서는 사용자가 한 번의 클릭으로 전체 디렉토리를 가져올 수 있습니다. Visual Studio 2017에는 솔루션으로 저장하지 않아도 전체 폴더를 열 수 있는 새로운 기능 "폴더 열기 "가 있습니다. 다음 방법을 사용하여 소스 코드를 가져올 수 있습니다.

  1. 메뉴 파일 열기 → * 폴더 ( Ctrl+ Shift+ O)
  2. devenv.exe <source folder>

CMake 프로젝트 빌드 및 디버깅도 지원합니다.

“Open Folder”를 사용하여 C ++ 코드베이스를 Visual Studio로 가져 오기


4

마켓 플레이스에는 이제 OP가 요청한 작업을 수행하는 오픈 소스 확장이 있습니다.

솔루션 폴더로 폴더

폴더 간 솔루션 폴더

원하는 것을 정확하게 수행하지 않으면 코드를 사용할 수 있으므로 시나리오에 맞게 수정할 수 있습니다.

HTH


VS 15.9.13 버전에서 확장 프로그램이 작동하지 않았습니다.
Mateusz Migała

2

내가 발견 한 깔끔한 트릭은 "기존 항목 추가 ..."로 이동하면 열린 대화 상자에서 솔루션으로 폴더를 드래그 할 수 있다는 것입니다.

Visual Studio가 관리자 모드에서 자동으로 열리도록하기 때문에이 작업을 수행하기 위해 실행 취소 할 필요가 없기 때문에이 방법은 저에게 좋은 해결 방법이었습니다.


1

나를 위해 일한 것은 폴더를 Visual Studio로 드래그 한 다음 폴더를 마우스 오른쪽 버튼으로 클릭하고 "파일 탐색기에서 폴더 열기"를 선택하십시오. 그런 다음 모두를 선택하고 Visual Studio의 폴더로 드래그하십시오.


0

Windows 7에서는 다음을 수행 할 수 있습니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "추가-> 기존 항목"을 선택하십시오. 나타나는 대화 상자에서 추가하려는 디렉토리의 루트를 찾으십시오. 오른쪽 상단에 검색 창이 있습니다. 입력 *.cs또는 *.cpp파일의 종류가 추가 원하는대로. 검색이 완료되면 모든 파일을 선택하고 추가를 클릭 한 후 잠시 기다리십시오 ...


5
이것은 디렉토리 구조를 유지하지 않으며 add를 클릭 한 폴더에 모든 것을 넣습니다.
Marc

0

내가 찾은 가장 깨끗한 방법은 대상 폴더에 새 클래스 라이브러리 프로젝트를 만들고 모든 빌드 출력을 다른 곳으로 리디렉션하는 것입니다. 여전히 .csproj 파일을 해당 폴더에 남겨두고 Visual Studio에서 파일을보고 프로젝트에 포함 할 파일을 선택할 수 있습니다.


-3

Visual Studio는 기본적 으로이 기능을 지원하지 않지만 CMake는 Visual Studio 프로젝트를 해결 방법으로 생성 할 수 있습니다.

그 외에는 Qt Creator를 사용하십시오. 그런 다음 Visual Studio 프로젝트를 내보낼 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.