사용자가 마우스 오른쪽 단추를 클릭 한 클래스의 내용을 보는 Visual Studio 2015 확장을 작성하고 있습니다.Visual Studio 확장 ProjectItem에서 Roslyn SemanticModel 받기
나는 ProjectItem
을 얻었지만, 어떻게 이것을 SemanticModel
(및 SyntaxTree
)으로 만들 수 있습니까?
파일에 선언 된 몇 가지 유형의 속성을 조회해야합니다. 컨텍스트에서 SemanticModel
을 제공하는 코드 분석기를 작성했지만 여기서이 코드를 가져 오는 방법을 알 수는 없습니다. 검색이 유용하지 않습니다. 파일 내용을 읽음으로써 SyntaxTree
을 파싱하는 방법을 찾았지만, SemanticModel
을 사용하면 쉽지 않을 것입니다. 이론적으로는 VS가 이미 파일 용으로 빌드 한 모델에 연결해야합니다.
그래, 어떤 방법이 있어야한다 VisualStudioWorkspace로 이동하십시오. 우리는 작업 공간에서 FileCodeModel로가는 쉬운 도우미가 있지만, 기이하게도 다른 방법이 있는지 모르겠습니다. 확인하기 만하면 원래 ProjectItem을 준 것은 무엇부터 시작 했습니까? –
@JasonMalinowski SolutionExplorer의 컨텍스트 메뉴 항목에서 실행중인 명령이 있습니다. 호출 될 때 DTE2.ToolWindows.SolutionExplorer.SelectedItems를 사용하고 Object 속성을 ProjectItem으로 캐스팅합니다. – RandomEngy