2008-09-18 54 views
5

我的项目将客户端和服务器组件都放在同一个解决方案文件中。我通常会将调试器设置为在调试时将它们一起启动,但通常情况下,我会在调试器外启动服务器,以便在客户端工作时根据需要启动和停止客户端。 (这要快得多)。我可以创建一个Visual Studio宏来在调试器中启动一个特定的项目吗?

我试图拯救自己在解决方案资源管理器中徘徊以启动单个项目的麻烦,并且宁愿只在工具栏上按一个按钮,调用启动单个项目的调试器的宏(同时离开“F5”单独键入调试以启动两个进程)。

我试图记录,但并没有真正产生任何有用的东西。

到目前为止,所有我能够做到的是定位在Solution Explorer中的项目项:

Dim projItem As UIHierarchyItem 

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

(这是松散的基础上宏录制如何试图做到这一点我不是当然,如果导航UI对象模型是正确的方法,或者我应该考虑通过解决方案/项目对象模型来代替)。

回答

6

好的。这似乎从(所有?)上下文所提供的解决方案最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 
0

从C#加载项,对我下面的工作:

Dte.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate(); 
Dte.ToolWindows.SolutionExplorer.GetItem("SolutionName\\SolutionFolderName\\ProjectName").Select(vsUISelectionType.vsUISelectionTypeSelect); 
+0

其中C#加载? – vendettamit 2016-01-28 18:19:41

相关问题