2010-07-21 112 views
3

在MSVC中,几个操作(如Menu:Build:Build)对当前选定的解决方案项目而言是上下文敏感的。但是,如果您一直在浏览解决方案资源管理器,则该项目经常会发生变化Visual Studio宏选择启动项目

我想编写一个宏,查找指定为“启动项目”的项目,并选择它使其处于活动状态。虽然我没有找到合适的DTE电话。

回答

4

我的主要目标是建立启动项目,我已经找到了解决:

Public Sub BuildStartupProject() 
    Dim sb As SolutionBuild = DTE.Solution.SolutionBuild 
    Dim projName As String = sb.StartupProjects(0) 
    DTE.ExecuteCommand("View.Output") 
    sb.BuildProject(sb.ActiveConfiguration.Name, projName, False) 
End Sub 

Chromium project wiki

1

下面是一些应该让你开始的东西,我还没有验证它是否会在项目嵌套到文件夹中时工作。

Sub SetStartupProjectasActive() 
    Dim solutionName As String = DTE.Solution.Properties.Item("Name").Value 
    Dim startupProject As String = DTE.Solution.Properties.Item("StartupProject").Value 
    Dim fullItemName As String = String.Format("{0}\{1}", solutionName, startupProject) 

    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate() 
    DTE.ActiveWindow.Object.GetItem(fullItemName).Select(vsUISelectionType.vsUISelectionTypeSelect) 
End Sub 
+1

Thx,但对DTE.ActiveWindow.Object.GetItem的调用失败,该对象上没有“GetItem”。 – 2011-10-05 00:00:38

相关问题