【问题标题】:Keyboard shortcut for building a specific project in Visual Studio 2015在 Visual Studio 2015 中构建特定项目的键盘快捷键
【发布时间】:2016-08-22 08:40:42
【问题描述】:

如何在我的解决方案中定义一个快捷键来构建启动项目?

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

我已经查看了“Build.BuildSelection”选项,但这只会构建当前打开的文件所在的项目。因此,如果我的项目 A 引用了项目 B,并且我在项目中编辑了一个文件B,那么这个快捷方式对我来说不可用,因为它是我要构建的项目A。

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

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

【问题讨论】:

  • 这也可以使用构建配置来解决,它只构建你想要的项目。
  • 好吧,当我选择正确的项目并将快捷键设置为“构建解决方案”时,我想这有点工作。我将不得不选择所有引用的项目,因为它似乎无法自动确定是否在引用的项目中进行了任何更改。幸运的是,基本上只有一个,所以这对我来说当然是可行的,但我仍然想要一个解决方案,我可以获得与右键单击项目并选择“构建”相同的效果。放弃答案,如果几天后没有更好的结果,我会将其标记为解决方案。
  • 您可以在 VS 2015 中使用我的 Visual Commander 扩展 vlasovstudio.com/visual-commander 运行旧的 VB 宏
  • @SergeyVlasov 非常成功!谢谢你的提示!我试过了,它就像一个魅力!我发布了一个答案,完整描述了我是如何使它工作的。希望没关系:)

标签: visual-studio-2015


【解决方案1】:

当使用 Sergey Vlasov 的扩展 Visual Commander 时,可以在 Visual Studio 2015 中使用 VB 宏。

我用下面的脚本创建了一个宏,当运行这个宏时,启动项目就建好了。

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

【讨论】:

    猜你喜欢
    • 2017-05-16
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 2017-12-24
    • 2015-12-07
    • 2010-12-15
    • 1970-01-01
    相关资源
    最近更新 更多