2010-05-12 3 views
9

종종 소스 뷰에서 시스템 클래스를 가져와 클래스에서 노출하는 속성과 메서드를 찾아 볼 수 있습니다.Visual Studio - 소스 코드로 형식 정의를 가져 오는 쉬운 방법

Srting from metadata http://img443.imageshack.us/img443/940/stringfrommetadata.png

보통 내가 클래스 이름을 선택하고 F12을 눌러이 작업을 수행 할 (또는 오른쪽 클릭> 정의로 이동) : 다음은 무슨 뜻인지의 스크린 샷이다. 그러나, 내가 어디서나 그것을 준비하지 못했다면, 나는 그것을 타이프하고 정의에 가야한다. 대부분 나는 나중에 입력 한 것을 삭제해야합니다.

클래스 이름을 입력하지 않고도이보기를 표시 할 수있는 방법이 있습니까? VS2010 Navigate To 대화 상자는이 기능을 지원하지 않습니다.

편집 : 질문을 게시 할 때 Visual Studio 플러그인을 사용하지 않았습니다. 이제 CodeRush 전체 라이센스 (10K 담당자가있는 사용자를위한 StackOverflow 프로모션 덕택에)가 CodeRush 또는 Refactor!를 사용하는 응답을받습니다.

편집 :이 단계에서 나는이 질문에 대답하려고 애를 썼다. 나는 그가 열리는 상황을 설명하면서 열어두고 현상금이 자동으로 Rory에게 수여되도록 할 것입니다. 그 동안 (허용되는 일정) DXCore를 사용하여이 작업이 가능해야한다고 생각하므로 조사하겠습니다.

답변

2

Visual Studio 2010에서이 작업을 수행 할 수있는 방법이 없습니다. 그러나 '내비게이션'메뉴를 사용하여 ReSharper에서이 작업을 수행 할 수 있습니다. 나는 당신이 그 (것)들에서 30 일 예심을 시도한 ㄴ다는 것을 건의한다, 그 후에 당신이 진짜로 이것을 필요로하는 경우에 그 후에 그것을 구매하십시오.

3

새로운 "탐색 대상"기능에 대해 알지 못했지만이 경우에는 Reflector을 사용했습니다. 프로 버전은 Visual Studio와의 일부 통합을 제공합니다 (메서드를 마우스 오른쪽 단추로 클릭하고 ".NET Reflector에서 열기"선택). 반사경 창이 열리 며 VS 자체에 코드가 표시되지 않습니다. 이 기능과 일부 기능을 표시하는 watch the demo을 사용할 수 있습니다.
이것은 내가 기대하는 최선의 대답은 아니지만 알아두면 좋은 옵션입니다.

7

보고있는 뷰는 프레임 워크의 IL에 대한 일종의 분석으로 작성된 것으로 보입니다. 보려고하는 유형을 알지 못하면 해체가 불가능합니다. 그러므로 나는 당신이 찾고있는 것을 정확하게 발견 할 수 없을 것이라고 느낍니다.

몇 가지 대안을 제안하겠습니다.

면책 조항 : 저는 DevExpress에서 CodeRush 커뮤니티 전도사로 일합니다.

이 화면에서 어떤 특정 유형을 보여주기 위해 시도하지 않고로드 개체 브라우저 (Ctrl 키 + Alt 키 + J)는, 따라서 문제의 유형을 찾기 위해 아래로 당신에게있을 것입니다. 그러나 모든 유형을 사용할 수 있으며 전체 검색 기능이 제공됩니다. 찾고 있거나 찾은 유형이 있으면 모든 회원이 나열되고 사용할 수 있습니다.

업데이트 : 당신이 사용하는 경우 (Ctrl 키를 + K, Ctrl 키 + R) 객체 브라우저를 실행하는 바로 가기, 다음은 검색 상자에 초점을 시작합니다. 이것은 매우 중요합니다.

코드를 찾으려고 할 때 유용 할 수있는 CodeRush 기능이 많이 있습니다.

TabToNextReference () 캐럿하다 니이 유형 내에 위치되어, 탭 키 위치 할 유형의 다음의 기준을 찍는. More Details

참조 ToolWindow (시프트 + F12) 당신에게 현재의 형식이나 멤버에 대한 참조를 표시합니다 ToolWindow 참조를 활성화. 이 툴바는 또한 참조를 탐색하는 데 사용될 수 있습니다. References Toolwindow는 주문형 및 라이브 모드에서 모두 사용할 수 있습니다. 이를 통해 마우스 또는 키보드를 통해 코드를 탐색하고 캐럿이 상주하는 모든 심볼 참조를 찾을 때 창을 업데이트 할 수 있습니다.

QuickNav (Ctrl 키 + 시프트 + Q) :이 기능은 VS2010의 NavigateTo 기능과 스타일에 가장 가까운 것입니다. QuickNav는 사용자가 입력 한 것과 일치하는 기호를 필터 상자에 배치합니다. 이 기능은 또한 Camel Case 검색을 지원합니다. 이 대응 VS의보다 More details

QuickNav도 much more configurable입니다

마지막으로

또한 CodeRush는 DXCore, 사용자가 함께 사용하기 위해 자신의 플러그인을 만들 수있는 프레임 워크에 구축 염두하시기 바랍니다 서로와 CodeRush.

이 프레임 워크는 추가 기능을 추가하기 위해 반복적으로 leveraged by the community되었습니다. 당신은 확실히 당신의 요구에 어떤 일이 표시되지 않도록 경우에도 지역 사회에 뭔가를 제안 고려 by way of the forums 또는

나는 우리가 당신을 도울 수있는 뭔가가있을거야 DevExpress의 닷컴에서 직접 RoryB 저에게 연락 out :)

+0

대단한 글에 감사드립니다. 그러나 내가 원하는 모든 것을 찾을 수 있어야한다고 느낍니다. 전체 유형 이름을 제공하면서 "정의로 이동"기능 (VS 확장성에 의해 노출 된 것으로 가정) 기능입니다. 모든 참조 된 어셈블리를 인덱싱하고 유형이 지정된 정의로 이동하는 QuickNav 대화 상자를 생각해보십시오. –

+0

죄송합니다 이고르, 원래 요청을 오해/잘못 읽은 것처럼 보입니다. 실제로 타입을 제공하지 않고 타입 정보를 찾으려고하는 것 같았습니다. 다시 읽었으므로이 유형을 제공하는 것이 행복해 보이지만 나중에 편집기에서 삭제하지 않아도됩니다. –

0

많은 추가 기능을 사용하면 일반적으로 "헤더"파일 형식이 아닌 객체 브라우저 트리보기 방식으로 개체를 탐색 할 수 있습니다. Resharper, CodeRush 및 Visual Assist X에는 모두 변형이 있다고 생각합니다. 이 주제에).

그러나 무료로 고려해야 할 추가 기능 중 하나는 VS Productivity Power Tools입니다. 그것은 (기타 향상된 기능 중) 단지 솔루션 탐색기와 같은 솔루션에 대한 뷰를 제공하는 솔루션 탐색기 창을 추가하지만 :

  • 이 파일이 목록에 & 필터, 예를 들어, 검색 할 수 테스트이라는 파일 만 표시하십시오.
  • 은 모든 파일 항목을 "확장"하여 그 안에 유형 및 멤버를 표시 할 수 있습니다.
+0

불행하게도 솔루션 탐색기는 솔루션에없는 참조 된 유형 (예 :'System.String')을 실제로 수행하지 않습니다. –

+0

예. 나는 "메타 데이터보기"(질문에 게시 됨)를 좋아합니다. 도움을 요청한 모든 수업에 대해서. 어쩌면 다시 C + + 프로그래머가 되려고 노력하고 있을지 모르지만, "헤더 파일"은 클래스의 가장 유용하고 읽기 쉬운 요약입니다. 객체 브라우저와 MSDN 설명서보다 훨씬 쉽습니다. 정확한 형식이므로 매일 우리는 하루 종일 읽습니다. –

+0

나는 우리가 같은 배에 있다고 생각한다. 이론적으로이 기능을 중지시키는 방법은 없습니다. 내 옵션을 VS 확장 성을 해킹하거나 적은 기능을 StackOverflow,이 기능의 기본 용도로 할 것 같아요. –

관련 문제