2010-03-22 12 views
7

Mi rendo conto che Visual Studio ha l'opzione "/ P" per generare file preelaborati, ma è estremamente sconveniente. Sto cercando un addin che ti permetta di fare clic con il tasto destro del mouse su un file e selezionare "view pre-process" - o qualsiasi soluzione simile che fondamentalmente preprocesserebbe il file attualmente aperto (con le opzioni appropriate dalla configurazione corrente) e mostrami l'output, senza problemi extra. Esiste una cosa del genere?"file corrente pre-elaborazione" per Visual Studio? (C++)

+0

Ho creato una macro per fare proprio questo. Vedere http://stackoverflow.com/questions/14257113/vs-addin-for-quickly-viewing-preprocessed-or-assembly-output. – Trass3r

risposta

3

Non c'è un modo davvero elegante per farlo usando il menu Strumenti esterni , ma ecco una soluzione che funzionerà:

  1. Creare una nuova configurazione per il progetto. Chiamalo qualcosa come "Debug-Preproc". In questa configurazione, impostare l'opzione/P per il compilatore. (Preelaborazione, nessuna compilazione)

  2. Passare al menu di configurazione Strumenti esterni. Crea un nuovo oggetto chiamato "Progetto Preprocesso". Impostare le opzioni per:

    • comando: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
    • Argomenti: $(ProjectDir)$(ProjectFileName) /Build "Debug-Preproc|Win32"

È ora possibile utilizzare l'opzione "pre-elaborazione del progetto" nel menu per eseguire il preprocessore contro tutti i file sorgente nel progetto attualmente selezionato. Genererà [filename].i per ognuno, che è possibile aprire in un editor di testo.

Se lo si desidera, è possibile creare un ulteriore passaggio per aprire il file in un editor di testo aggiungendo un nuovo strumento esterno all'editor per aprire $(ItemFileName).i.

Non è nemmeno così pulito o comodo come poter fare clic con il pulsante destro del mouse su un file e scegliere "pre-elaborazione", ma penso che sia il meglio che non riuscirai a scrivere un'estensione.

+0

Non esattamente la soluzione che speravo, ma credo è il più vicino possibile, piuttosto che lasciare che i rifiuti di taglie potrei anche assegnarlo a te. Grazie :) – Virgil

+0

Sai, mi è appena venuto in mente - tutte le opzioni del compilatore sono in realtà prive di significato quando si tratta del preprocessore. Le sole cose che contano nell'output generato sono le opzioni sulla pagina del preprocessore stesso, molte delle quali probabilmente non stanno cambiando. Quindi se si imposta lo strumento esterno su CL/P sul file si dovrebbe ottenere lo stesso risultato di come si crea il progetto usando il metodo che ho suggerito. –

+0

Non è vero, ho un sacco di definizioni nella riga di comando, anche i percorsi per includere le directory ... e questo è abbastanza comune, penso. – Virgil

2

Nell'interfaccia utente, è possibile configurare uno "strumento esterno" (dal menu degli strumenti). È possibile creare uno strumento di questo tipo che richiami il compilatore con il file corrente e l'opzione "/ P" e che l'output del compilatore venga visualizzato sullo schermo. Per lo strumento esterno, configuralo per l'output nella finestra di output.

+0

Non è la soluzione perfetta, ma potrebbe funzionare; tuttavia, come posso configurare questo strumento esterno per utilizzare la riga di comando che Visual Studio userebbe se dovessi selezionare "file di compilazione" (e aggiungere semplicemente/P ad esso)? – Virgil

0

Si compila proc utilizzando lo stesso metodo all'interno del progetto C++ e dello strumento di generazione esterno. fai clic destro sul file proC e se le istruzioni del compilatore sono impostate in Custom Build Setup (in MS Visual Studio) ti mostrerà output cioè file C/C++

+0

scusa, non capisco il tuo suggerimento :( Sto parlando di file C++ reale, non posso definire una "build personalizzata" per questo - non voglio cambiare il modo in cui il mio progetto costruisce, io Sto solo cercando un modo (più facilmente) di ispezionare l'output del preprocessore (in alcuni casi, a causa delle macro, gli errori del compilatore potrebbero non essere molto banali da capire, in realtà guardare l'output del preprocessore aiuta molto). E solo preventivamente: sono d'accordo con l'argomento "macro complicate", ma non è questo il punto ... non è quello che voglio discutere :) – Virgil

1

Macro visivi Expander: - addin per visual studio, mostra macrose espanse e risultati di formati uniformi.

+0

Sembra essere giù. – Trass3r

Problemi correlati