2016-08-22 83 views
1

如何在我的解决方案中定义快捷键以构建启动项目?用于在Visual Studio 2015中构建特定项目的键盘快捷键

我经常构建默认项目,因此必须使用鼠标在解决方案资源管理器中滚动到正确的项目,右键单击它并选择生成项目,这会有点令人沮丧。必须有一个更简单的方法。

我查看了“Build.BuildSelection”选项,但是这只会生成当前打开的文件所在的项目。所以如果我有项目A,它具有对项目B的引用,并且我编辑了一个文件项目B,那么这个快捷方式不适用于我,因为它是AI想要构建的项目。

使用Visual Studio 2010,我可以创建一个宏来实现我想要的功能,但是我一直无法完成这项工作。我查看了为Visual Studio 2015创建宏的选项,但是我陷入了困境,从未收到任何有关此问题的答案(JavaScript macro for building the startup project in Visual Studio 2015?)。

构建整个解决方案也不是一种选择,因为解决方案中的一些项目设置为以其他方式构建,并且在Visual Studio尝试构建它们或仅需很长时间才能完成时失败。

+0

这也可以使用* Build Configuration *来解决,它只构建你想要的项目。 –

+0

那么,我猜这有点适用,当我选择正确的项目,并设置一个快捷键“构建解决方案”。我将不得不选择所有引用的项目,因为它似乎无法自动判断引用项目中是否有任何更改。幸运的是,基本上只有一个,所以这对我来说当然是可行的,但我仍然会喜欢一个解决方案,我会得到与右键单击项目并选择“Build”相同的效果。放弃一个答案,如果在几天内没有更好的答案,我会将其标记为解决方案。 – EmKay

+1

你可以使用Visual Commander扩展在VS 2015中运行一个旧的VB宏https://vlasovstudio.com/visual-commander/ –

回答

0

当使用谢尔盖·弗拉索夫的扩展Visual Commander,可以使用VB宏在Visual Studio 2015年

我创建了下面的脚本宏观和运行此宏时,启动项目建成。

Imports EnvDTE 
Imports EnvDTE80 
Imports Microsoft.VisualBasic 

Public Class C 

    Implements VisualCommanderExt.ICommand 

    Sub Run(DTE As EnvDTE80.DTE2, package As Microsoft.VisualStudio.Shell.Package) Implements VisualCommanderExt.ICommand.Run 

     DTE.ToolWindows.OutputWindow.Parent.Activate() 
     Dim sb As SolutionBuild2 = DTE.Solution.SolutionBuild 

     For i As Integer = 0 To sb.StartupProjects.Length - 1 
      sb.BuildProject(sb.ActiveConfiguration.Name, sb.StartupProjects(i), True) 
     Next 

    End Sub 

End Class 
相关问题