을 만들 수 있습니 Visual Studio 매크로를 실행하는 특정 프로젝트에서는 디버거를 사용하시겠습니까?

StackOverflow https://stackoverflow.com/questions/96250

문제

내 프로젝트는 모두 클라이언트와 서버 구성 요소에 같은 솔루션은 파일입니다.나는 일반적으로 디버거를 시작하도록 설정하고 그들을 함께 할 때는 디버깅,하지만 그것은 종종 경우 나는 서버를 시작 외부의 디버거 그래서 나를 시작하고 중지할 수 있으로 클라이언트에 필요한 작업을 할 때에는 클라이언트 측에만 물건입니다.(이것은 훨씬 더 빠르게).

나를 구하려고 자신의 번거 로움에 이르기까 솔루션 탐색기에서 시작하는 개별 프로젝트 및 오히려 그냥 버튼 도구 모음에서는 전화 매크로를 시작하는 디버거 개별 프로젝트(을 남기면서"F5"형 디버깅을 혼자 시작하는 모두를 처리합).

나는 녹음했는데,하지만 정말 못한 결과에서도 유용합니다.

을 관리하는지를 찾 프로젝트 항목에서는 솔루션 탐색기:

 Dim projItem As UIHierarchyItem

 projItem = DTE.ToolWindows.SolutionExplorer.GetItem("SolutionName\ProjectFolder\ProjectName").Select(vsUISelectionType.vsUISelectionTypeSelect)

(이것은 느슨하게 기반으로 하는 방법에 매크로 레코더도 그것을 할 수 있습니다.나는 확실하지 않는 경우 탐색 UI 개체 모델이 올바른 접근,또는 난해야에서 찾을 통해 솔루션/프로젝트 개체 모델을 대신에).

도움이 되었습니까?

해결책

확인.이 작업에서 가장 UI(모?) 컨텍스트를 제공하는 솔루션로드:

 Sub DebugTheServer()
    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
    DTE.ActiveWindow.Object.GetItem("Solution\ServerFolder\ServerProject").Select(vsUISelectionType.vsUISelectionTypeSelect)
    DTE.Windows.Item(Constants.vsWindowKindOutput).Activate()
    DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Debug.Startnewinstance")
 End Sub

다른 팁

C#추가로서,다음과 같은 나를 위해 일했:

Dte.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate();
Dte.ToolWindows.SolutionExplorer.GetItem("SolutionName\\SolutionFolderName\\ProjectName").Select(vsUISelectionType.vsUISelectionTypeSelect);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top