Domanda

L'output che otteniamo quando stampiamo sorgenti C ++ da Eclipse è piuttosto brutto.

Esiste un modo / un plug-in per stampare graziosamente il codice sorgente C ++ come ad es. con a2ps (che probabilmente utilizza ancora un altro filtro per il codice sorgente C)?

È stato utile?

Soluzione

Uso anche enscript per questo. Ecco un alias che uso spesso:

alias cpp2ps='enscript --color --pretty-print=cpp --language=PostScript'

e lo uso così:

cpp2ps -P main.ps main.cpp

Ci sono molte altre fantastiche opzioni in enscript tra cui rotazione, output a 2 colonne, numeri di riga, intestazioni / piè di pagina, ecc. Guarda pagina man enscript .

Inoltre, su Mac, XCode stampa il codice C ++ molto bene.

Altri suggerimenti

Vedi questo DDJ che utilizza enscript come il grazioso motore di stampa.

Vorrei espandere la risposta di Windows 7 perché alcuni passaggi chiave sono stati esclusi:

Questo è per gli utenti MinGW con Eclipse CDT

0) Se non si dispone di GDB python, aprire una shell / comando e utilizzare MinGW-get.exe per 'installare'    GDB abilitato per Python ad es.

   MinGw-get.exe install gdb-python

1a) Ottieni Python 2.7.x da http://python.org/download/ e installa

1b) Assicurati che PYTHONPATH e PYTHONHOME siano impostati nel tuo ambiente:

 PYTHONPATH should be C:\Python27\Lib   (or similar)
 PYTHONHOME should be C:\Python27

1c) Aggiungi PYTHONHOME al tuo PERCORSO

 %PYTHONHOME%;...

2a) Apri un testo, inserisci le seguenti dichiarazioni. Si noti che la terza riga è     indicando dove si trovano gli script di Python. Vedi le note qui sotto su questo!

python
import sys
sys.path.insert(0, 'C:/MinGW/share/gcc-4.6.1/python')         
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end

2b) Salva come '.gdbinit' NOTA: Windows Explorer non ti consente di nominare un file che inizia con     con un periodo da esploratore. La maggior parte delle modifiche di testo (incluso Blocco note) ti consentiranno. GDB init     i file sono come "script" dei comandi GDB che GBD eseguirà al caricamento.

2c) Il file '.gdbinit' deve trovarsi nella directory di lavoro di GDB (molto probabilmente è     la directory root dei tuoi progetti, ma il tuo IDE può dirti.

3) Apri la finestra di dialogo Preferenze di Eclipse (o altro IDE). Vai al sottomenu C ++ Debugger.

4) Configura Eclipse per usare C: \ MinGW \ bin \ gdb-python27.exe come debugger e .gdbinit come file di configurazione.

5a) Ricreare tutte le configurazioni di avvio del debug (eliminare quella precedente e crearne una nuova da zero).

--OR--

5b) Modifica ogni configurazione di debug e punta al nuovo gdb-python.exe E punta al.

In caso di problemi:

- Non dimenticare di cambiare la posizione nella directory python nel codice python sopra!    Questa directory è stata creata da MinGW, quindi non cercare di scaricare le graziose stampanti, MinGW    fatto per te nel passaggio zero. Basta andare al tuo direttore di installazione di MinGW, la cartella di condivisione,    la cartella GCC (ha il numero di versione) e troverai la cartella Python. Questa posizione è cosa    dovrebbe essere nello script Python caricato da GDB.

- Inoltre, .gdbinit è un PITA, assicurati che sia nominato correttamente e nella cartella di lavoro di GDB    che non è necessariamente dove si trova gdb-python.exe! Guarda il tuo output GDB durante il caricamento di GDB per vedere se durante il caricamento appare un '' abilitazione per Python 'e che appaiono le istruzioni in .gdbinit.

- Finalmente ho avuto molti problemi con le variabili di sistema. Se python ti dà 'ImportError', molto probabilmente non hai impostato PYTHONPATH o PYTHONHOME.

- Anche la directory con 'gdb-python27' (ad es. C: \ MinGW \ bin ') dovrebbe essere sul tuo percorso e, se lo è, rende la configurazione di eclissi un po' più piacevole perché non è necessario inserire in percorsi assoluti. Tuttavia, a volte il .gbdinit ha bisogno di un percorso absoulte. se funziona vedrai l'output di gbd (tracce console- > gdb) in questo modo all'avvio del debugger:

835,059 4^done
835,059 (gdb) 
835,059 5-enable-pretty-printing
835,069 5^done
....
835,129 12^done
835,129 (gdb) 
835,129 13source C:\MinGW\bin\.gdbinit
835,139 &"source C:\\MinGW\\bin\\.gdbinit\n"
835,142 13^done
835,142 (gdb) 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top