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++)
risposta
Non c'è un modo davvero elegante per farlo usando il menu Strumenti esterni , ma ecco una soluzione che funzionerà:
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)
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"
- comando:
È 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.
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
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. –
Non è vero, ho un sacco di definizioni nella riga di comando, anche i percorsi per includere le directory ... e questo è abbastanza comune, penso. – Virgil
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.
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
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++
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. Aggiungere il file C a Visual Studio
- 2. Visual Studio: file corrente in Solution Explorer: renderlo più scuro?
- 3. Interrompe l'operazione corrente in Visual Studio
- 4. Evidenziario linea corrente di Visual Studio 2010
- 5. Visual Studio C++ con psapi.lib
- 6. -isistema per compilatore MS Visual Studio C++
- 7. C# per scrivere macro in Visual Studio?
- 8. Componente aggiuntivo interprete C# per Visual Studio
- 9. Prerequisiti mancanti per Visual C++ in Visual Studio 2012
- 10. Esiste uno strumento di preelaborazione C#?
- 11. Includi/Escludi file per configurazione Visual Studio
- 12. Preelaborazione del codice C in Perl
- 13. Comprimi solo #regioni (!) In C# (Visual Studio)
- 14. minima Visual Studio versione per Visual Studio 2015 soluzione
- 15. C# 6.0 senza Visual Studio
- 16. Visual Studio: collegamento per scorrere explorer di soluzione al file corrente
- 17. Visual Studio Formatta l'intero file?
- 18. LargeAddressAware Visual Studio 2015 C#
- 19. Visual Studio "Cerca nei file" non funziona
- 20. Codice Visual Studio: selezionare la parola corrente (ctrl-w nei vecchi collegamenti di Visual Studio)?
- 21. Come rendere Visual Studio 2010 riconoscere le estensioni di file come file C#/ASPX/C/C++?
- 22. Collegamento a Visual Studio
- 23. Nuovo file di C++ in Visual Studio Express 2015
- 24. Port Visual Studio da C++ a Linux
- 25. LNK 2005 in Visual C++ in Visual Studio 2010
- 26. Impedire Visual Studio da file di crittografia
- 27. commenting code C# visual studio best practice
- 28. C# è per Visual Studio come PHP è per ... qualcosa?
- 29. Visual Studio Intellisense per Backbone.js
- 30. Visual Studio 2012 - File mancante "tracker.exe" mancante
Ho creato una macro per fare proprio questo. Vedere http://stackoverflow.com/questions/14257113/vs-addin-for-quickly-viewing-preprocessed-or-assembly-output. – Trass3r