2016-08-22 82 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 
相關問題