Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Visual Studio 2015의 솔루션 탐색기가 클래스 뷰 정보로 인해 느려지는 현상

클래스 뷰(Class View)가 합쳐진 "솔루션 탐색기(Solution Explorer)"는 Visual Studio 2010에 처음으로 "Visual Studio Productivity Power Tools"를 통해 제공되다가, Visual Studio 2012부터 기본 제공되는 것으로 바뀌었습니다. 이에 대해서는 다음의 글에 잘 나옵니다.

Hide class info in Visual Studio 2012/2013 Solution Explorer
; http://visualstudioextensions.vlasovstudio.com/2013/11/04/hide-class-info-in-visual-studio-20122013-solution-explorer/

그런데, 이상하게도 2013까지는 별다르게 느리다는 인식없이 사용하고 있었는데 유독 2015부터는 눈에 띄게 느려지는 현상이 있습니다. 해당 솔루션에 클래스 파일이 많은 경우, 그 폴더를 펼치기만 하면 다음과 같이 클래스 뷰 정보를 펼칠 수 있는 자식 노드의 표시가 하나씩 나타나는데,

vs_too_slow_1.png

그러는 사이 CPU 소비가 심하면서 비주얼 스튜디오 사용성이 심각하게 저하되는 현상이 있습니다. (물론, 일단 한번 저렇게 펼쳐지면 그 후에는 빠르게 반응합니다.)

사실, 클래스 뷰가 소규모 프로젝트라면 도움이 될 수 있는데 파일이 조금만 많아지면 클래스 노드까지 펼쳐 놓는 것을 잘 하지 않게 됩니다. 그래서 제 경우에는 잘 쓰지 않는 기능 중의 하나인데요. 그래서 끄고 싶은데 아쉽게도 비주얼 스튜디오의 옵션 창에서는 이를 조절할 수 있는 메뉴가 없습니다.

대신 위에서 소개했던 "Hide class info in Visual Studio 2012/2013 Solution Explorer" 글에 답이 있습니다. 단지, Visual Studio 2015이기 때문에 레지스트리 경로가 바뀝니다.

키 경로: HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0

이름: UseSolutionNavigatorGraphProvider
타입: REG_DWORD
값: 0

이렇게 설정하면 솔루션 탐색기를 보다 쾌적하게 쓸 수 있습니다. 만약, 클래스 뷰가 그립다면 예전의 클래스 뷰가 여전히 제공되기 때문에 "View" / "Class View" (단축키: Ctrl + Shift + C) 메뉴를 이용하시면 됩니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 9/2/2015]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13693정성태7/24/20247249개발 환경 구성: 717. Visual Studio - C# 프로젝트에서 레지스트리에 등록하지 않은 COM 개체 참조 및 사용 방법파일 다운로드1
13692정성태7/24/20248043디버깅 기술: 199. Windbg - 리눅스에서 뜬 닷넷 응용 프로그램 덤프 파일에 포함된 DLL의 Export Directory 탐색
13691정성태7/23/20247401디버깅 기술: 198. Windbg - 스레드의 Win32 Message Queue 정보 조회
13690정성태7/23/20247020오류 유형: 919. Visual C++ 리눅스 프로젝트 - error : ‘u8’ was not declared in this scope
13689정성태7/22/20248554디버깅 기술: 197. Windbg - PE 포맷의 Export Directory 탐색
13688정성태7/21/20247641닷넷: 2281. C# - Lock / Wait 상태에서도 일부 Win32 메시지 처리파일 다운로드1
13687정성태7/19/20248065닷넷: 2280. C# - PostThreadMessage로 보낸 메시지를 Windows Forms에서 수신하는 방법파일 다운로드1
13686정성태7/19/20247857오류 유형: 918. Visual Studio - ATL Simple Object 추가 시 error C2065: 'IDR_...': undeclared identifier
13685정성태7/19/20248017스크립트: 66. Windows 디렉터리 경로를 WSL의 /mnt 포맷으로 구하는 방법 - 두 번째 이야기
13684정성태7/19/20248191닷넷: 2279. C# - 문자열 보간식 사례 (예: 조건 연산자 사용)
13683정성태7/18/20247669오류 유형: 917. ClrMD - Linux 환경의 .NET 5 덤프 분석 시 hang 현상
13682정성태7/18/20247871닷넷: 2278. WPF - 스레드에 종속되는 DependencyObject파일 다운로드1
13681정성태7/17/20247485닷넷: 2277. C# 13 - (2) 메서드 그룹의 자연 타입 개선 (메서드 추론 개선)파일 다운로드1
13680정성태7/16/20247865닷넷: 2276. C# - Method Group, Natural Type, function_type파일 다운로드1
13679정성태7/16/20246947Linux: 76. Linux - C++ (getaddrinfo 등을 담고 있는) libnss 정적 링크
13678정성태7/15/20247086VS.NET IDE: 191. Visual Studio 2022 - .NET 5 프로젝트를 Docker Support로 실행했을 때 오류
13677정성태7/15/20247176오류 유형: 916. MSBuild - CheckEolTargetFramework (warning NETSDK1138)
13676정성태7/14/20247347Linux: 75. gdb에서 glibc의 함수에 Breakpoint 걸기
13675정성태7/13/20249137C/C++: 166. C/C++ - DLL에서 template 함수를 export하는 방법 [1]파일 다운로드1
13674정성태7/13/20248010오류 유형: 915. Unhandled Exception: Microsoft.Diagnostics.NETCore.Client.ServerNotAvailableException: Unable to connect to Process
13673정성태7/11/20248461닷넷: 2275. C# 13 - (1) 신규 이스케이프 시퀀스 '\e'파일 다운로드1
13672정성태7/10/20247170닷넷: 2274. IIS - (프로세스 종료 없는) AppDomain Recycle
13671정성태7/10/20247270오류 유형: 914. Package ca-certificates is not installed.
13669정성태7/9/20247388오류 유형: 913. C# - AOT StaticExecutable 정적 링킹 시 빌드 오류
13668정성태7/8/20247419개발 환경 구성: 716. Hyper-V - Ubuntu 22.04 Generation 2 유형의 VM 설치
13667정성태7/7/20246625닷넷: 2273. C# - 리눅스 환경에서의 Hyper-V Socket 연동 (AF_VSOCK)파일 다운로드1
1  2  3  4  5  6  7  8  9  [10]  11  12  13  14  15  ...