코드 맵을 사용하여 코드를 시각적으로 이해, 탐색 및 디버깅
Visual Studio Ultimate 코드에서 관계를 매핑할 수 있습니다.코드 맵을 만들 때 옆에 있는 코드 편집기가 표시 됩니다.작업 중 내에서 코드를 볼 수 있으므로 작업에 집중할 수 있습니다.
코드 맵 코드의 관계를 표시 및 옆에 있는 코드 편집기를 표시 합니다. 녹색 화살표에 커서 위치에 코드에서를 보여 줍니다. 종이 처럼 메모 지도 만들 수 있습니다.
대규모 코드 베이스, 익숙하지 않은 코드 또는 레거시 코드에서 손실 되지 않도록 도움말을 코드에 매핑합니다.예를 들어, 디버깅 시 여러 파일 및 프로젝트 코드를 확인 해야 합니다.이러한 코드 조각을 주위를 탐색 하 고 그들 사이의 관계를 참조 하십시오 도움말을 코드에 매핑합니다.이 모든 코드를 기억 하거나 파일의 용지를 별도 다이어그램을 그릴 수 없습니다.코드 도움말 새로 고침 작업을 중단 하는 경우 작업 중인 코드에 대한 메모리를 매핑합니다.
코드 작업에 매핑합니다 시청: 코드 매핑 (채널 9)와 복잡 한 코드 이해
요구 사항
Visual Studio 2012.1 및 이러한 버전 중 하나:
솔루션 탐색기 또는 코드 편집기에서 코드를 만들려면 Visual Studio 2012 최고의 매핑합니다.
[!참고]
프리미엄 또는 전문가 사용 하는 사람과 함께 지도 공유 하기 전에 지도의 모든 항목이 숨겨진된 항목, 확장 된 그룹 및 그룹 간 링크를 같은 표시 있는지를 확인 합니다.
Visual Studio 2012 프리미엄 2012 Professional Visual Studio 코드 맵을 열 수 제한 편집할 수 있고 코드 탐색.
Visual Basic.NET 또는 Visual C#.NET 코드를 사용 하 여 솔루션
이 문제를 이해 합니다.
진행 중인 드로잉 프로그램에서 버그가 있다고 가정 합니다.버그를 재현 하 여 솔루션이 Visual Studio Ultimate 눌러 열고 F5 디버깅을 시작 합니다.
선 그리기 및 선택 내 마지막 스트로크 실행 취소에서 다음 줄을 그릴 때까지 아무 일도 발생 합니다.
검색 하 여 조사를 시작을 Undo 메서드.것에 PaintCanvas 클래스입니다.
코드 매핑을 시작 합니다.
매핑 시작 이제는 undo 메서드 및 해당 관계.코드 편집기에서 추가 된 undo 메서드 및 필드에 새 코드 맵을 참조 합니다.맵을 새로 만들 때 인덱스의 코드를 약간의 시간이 소요 됩니다.이 이후 작업의 실행 속도가 빨라질 수 있습니다.
팁 |
---|
지도에 추가 된 마지막 항목은 녹색으로 강조 표시를 보여 줍니다.녹색 화살표에 커서 위치에 코드에서를 보여 줍니다.화살표 항목 간의 다양 한 관계를 나타냅니다.도구 설명을 확인 하 여 지도에서 항목에 대한 자세한 정보를 얻을 수 있습니다. |
탐색 하 고 지도에서 코드를 검사 합니다.
각 필드에 대한 코드 정의 표시 하려면 필드에서 지도 두 번 클릭 하거나 필드 및 키를 눌러 선택 F12.녹색 화살표 지도 상의 항목으로 이동합니다.또한 코드 편집기에서 커서가 자동으로 이동합니다.
팁 |
---|
코드 편집기에서 커서를 이동 하 여 지도에서 녹색 화살표를 이동할 수도 있습니다. |
코드 조각 간의 관계 이해
알고 싶은 이제 어떤 다른 코드와 상호 작용 하는 history 및 paintObjects 필드입니다.이러한 필드에 지도 참조 하는 모든 메서드를 추가할 수 있습니다.지도 또는 코드에서 수행할 수 있습니다.
관계의 흐름을 다시 정렬 하 고 지도 쉽게 읽을 수 있도록 레이아웃을 변경 합니다.맵 항목을 끌어서 이동할 수도 있습니다.
팁 |
---|
기본적으로 증분 레이아웃 켜 집니다.새 항목을 추가 하면 최소한으로 맵을 다시 정렬 됩니다.새 항목을 추가할 때마다 전체 지도 다시 정렬 하려면 해제 증분 레이아웃. |
이러한 메서드를 살펴보겠습니다.지도에서 두 번 클릭 하 여 PaintCanvas 메서드를 또는이 방법 및 키를 눌러 선택 F12.이 메서드가 만드는 배울 history 및 paintObjects 빈 목록으로.
이제 검사 같은 단계를 반복 하는 clear 메서드 정의 합니다.배우게 clear 몇 가지 작업을 수행 합니다. paintObjects 및 history.그런 다음 호출 된 Repaint 메서드.
이제는 addPaintObject 메서드를 정의 합니다.또한 몇 가지 작업을 수행 history 및 paintObjects.또한 호출 Repaint.
지도 검사 하 여 문제 찾기
모든 메서드를 수정 하는 것 같아 history 및 paintObjects 호출 Repaint.아직의 undo 하지 않는 메서드를 호출 합니다. Repaint도 undo 같은 필드를 수정 합니다.호출 하 여이 문제를 해결할 수 있습니다 생각 하므로 Repaint 에서 undo.
이 누락 된 호출을 표시 하는 맵 없으면이 엄격 하 게 특히 더 복잡 한 코드에서이 문제를 찾으려면 되었을 수 있습니다.
검색 하 고 다음 단계를 공유 합니다.
사용자나 다른 사용자가이 버그를 수정 하기 전에 문제 및 문제를 해결 하는 방법에 대한 지도 노트를 만들 수 있습니다.
예를 들어, 색을 사용 하 여 맵 및 플래그 항목에 메모를 추가할 수 있습니다.
Microsoft Outlook이 설치 되어 있으면 지도 다른 사람에 게 이메일로 보낼 수 있습니다.지도 이미지 또는 다른 형식으로 내보낼 수도 있습니다.
이 문제를 해결 하 고 했던 표시
이 버그를 해결 하려면에 대한 호출 추가 Repaint 에 undo.
수정 확인 하려면 디버깅 세션을 다시 시작 하 고 버그를 재현해 봅니다.이제 선택 내 마지막 스트로크 실행 취소 예상 대로 작동 하 고 올바른 수정 사항을 확인 합니다.
수정 내용을 표시 하는 지도 업데이트할 수 있습니다.
지도 이제 사이의 링크를 보여 줍니다 취소 및 Repaint.
[!참고]
지도 업데이트 하는 경우 맵을 만드는 데 사용 되는 코드 인덱스 업데이트 된 없다는 메시지가 표시 될 수 있습니다.따라서 누군가가 지도로 현재 코드에 맞지 않는 경우가 발생 하는 코드를 변경 합니다.지도 업데이트를 중지 하지 않습니다이 코드와 일치 하는지 확인 하는 맵을 다시 만들어야 할 수도 있습니다.
이제 조사를 완료 합니다.성공적으로 발견 하 고 코드 매핑 하 여 문제를 해결 합니다.해결 코드를 탐색 하는 데 도움이 됩니다 기억은 배웠습니다, 한 문제를 해결 하려면 수행한 단계를 보여 주는 지도 수도 있습니다.