2009-11-11 10 views
9

Ho provato a trovare una scorciatoia da tastiera per creare solo il progetto di avvio in VS2008.Scorciatoia da tastiera per costruire solo il progetto di avvio?

Ho trovato solo una scorciatoia configurabile per creare il progetto attualmente visualizzato, il che non è altrettanto valido.

Qualche idea?

Grazie.

+0

Hai ragione, Strumenti/Opzioni/Ambiente/tastiera non dispone di un 'Build.StartupProject'. ': (' – sbi

+0

Una domanda seria, perché vorresti solo costruire il progetto di avvio? – Lazarus

+1

Dal momento che molte volte il progetto di avvio è quello che mi interessa costruire, anche se sto attualmente modificando un progetto diverso (su cui il dipende dal progetto di avvio) – Danra

risposta

11

Che macro dovrebbe farlo:

Sub Build_Startup() 
    DTE.ToolWindows.OutputWindow.Parent.Activate() 
    Dim sb As SolutionBuild2 = DTE.Solution.SolutionBuild 
    For Each item In sb.StartupProjects 
     sb.BuildProject(sb.ActiveConfiguration.Name, item, True) 
    Next 
End Sub 

Basta mettere che nelle macro - utilizzando l'IDE macro Alt + F11, e aggiungere una mappatura della tastiera ad esso (Strumenti/Personalizza/Commands/Tastiera, trova il tuo nuovo comando nello spazio dei nomi Macros.) e tutto è pronto.

+0

Ottimo, funziona !! Ma ... Non viene visualizzato qualsiasi cosa sulla console di output ... Un modo per cambiarlo? – Danra

+0

Mostra per me l'output di generazione standard nel pannello di output di generazione. Che tipo di output stai cercando? Puoi aggiungere il tuo output nella macro con l'aiuto delle funzioni GetWindowOutputPane e OutputItem disponibili negli esempi di macro (Esempi/Utilità) – Bahbar

+0

Errore, l'output viene effettivamente visualizzato rly. Grazie! – Danra

1

È possibile creare una configurazione di soluzione personalizzata che genera solo il progetto desiderato (denominato ad esempio "StartupOnly"). Per impostazione predefinita Visual Studio mostra una combinazione nella barra degli strumenti che consente di passare rapidamente da una configurazione all'altra, quindi tutto ciò che serve è selezionare tale configurazione e utilizzare il normale comando di compilazione.

+0

Sto cercando una scorciatoia generica da tastiera che non mi imponga di definire una configurazione per ogni progetto che voglio costruire – Danra

0

Spiacente, non ho abbastanza punti per rispondere direttamente al progician sopra, ma in VS2010, se si aggiunge quanto segue come la prima linea di macro di Bahbar, la finestra di output mostrerà durante la costruzione

DTE.ToolWindows.OutputWindow.Parent.Activate() 

Aggiornamento: Inoltre, è necessario utilizzare il seguente per il nome della configurazione:

Dim configName = String.Format("{0}|{1}", sb.ActiveConfiguration.Name, sb.ActiveConfiguration.PlatformName)