2009-11-01 14 views
25

Ho l'occasione di stampare codice (Horrors !!!;)), e mi chiedevo quale editor o strumento avrei usato per stampare quel codice con formattazione e evidenziazione della sintassi corrette? Se è importante, sarà codice C# ma idealmente lo strumento funzionerà per quante più lingue possibili. Può Notepad ++ o qualcosa di gestirlo?Stampa del codice con evidenziazione della sintassi?

+2

Questo superutente domanda ha diverse proposte, tra cui uno per Notepad ++: http://superuser.com/questions/39571/how-do-i-easily-highlight -la-sintassi-di-php-code-in-word –

risposta

12

Sì, Notepad ++ può sicuramente stampare il codice con l'evidenziazione della sintassi.

La stampa a colori sarebbe ovviamente preferibile, ma nelle occasioni in cui ho stampato in bianco e nero, le sottili differenze di colore [reso come sfumature di grigio, ovviamente] possono essere difficili da distinguere.

Tuttavia, penso che un po 'di personalizzazione delle combinazioni di colori dovrebbe rendere questo meno un problema.

8

http://pygments.org/ è un'opzione. Supporta un ton di lingue e, poiché è scritto come una libreria python, è possibile eseguire lo script del processo di conversione come si desidera.

29

È possibile utilizzare vim! :syntax attiva l'evidenziazione della sintassi e :hardcopy lo stamperà. C'è syntax highlighting definitions per molte lingue là fuori.

L'aspetto predefinito è in genere ottimizzato per la visualizzazione dello schermo, ma è possibile fixthat.

+19

@RCIX Non dire scusa, ci scusiamo per te! –

+4

Si potrebbe anche inviare il comando ': TOhtml' che converte il codice sorgente in un file HTML con colori e tutto. –

3

Visual Studio, e consente di avere una configurazione completamente separata per la stampa.

+0

Dove? Posso solo stampare in B/N – Revious

+0

Non riesco a ricordare, ma in base all'età della risposta mi sarei riferito a Visual Studio * 2008 * che aveva il supporto nativo per la stampa a colori. VS2010 e VS2012 possono utilizzare l'estensione [Color Printing] (http://visualstudiogallery.msdn.microsoft.com/00ec88c2-1553-47d2-8170-3c5baa0c6e44) [sic]. Non sembra essere un equivalente per VS2013. – Richard

1

Sotto Unix è possibile provare a2ps. È flessibile e produce buoni risultati.

1

Tempo fa ho creato una famiglia python script che avvolge i frammenti in una piccola utility di console. Funziona con qualsiasi lingua supportata da pygments.

Inoltre, se si utilizza eclipse, è sufficiente copiare il testo selezionato nell'editor e incollarlo in un editor RTF come MS Word, che conserverà tutti i colori, i caratteri e la formattazione.

+0

non l'ho testato, suona bene, spero che funzioni ok :) tuttavia, nel caso di una stampa più orientata ai batch (per un numero maggiore di file) sono comunque interessato a uno strumento HTML-to-printer che potrebbe essere utilizzato come compagno? – akavel

11

Utilizzare vim. È il metodo più semplice per farlo nella mia esperienza di gran lunga, cioè, una volta che sai come.

Vim viene preinstallato su Mac, btw. E so come le persone speciali amano i colori, quindi renderò questo impaziente uomo d'affari a prova di beneficio per tutti.

1.) file aperto

vim filename.m

2.) abilitare la sintassi colorazione (la mia non ce l'ha abilitato per default)

: sintassi su

3.) stampa

:hardcopy 

Vim sceglierà la stampante predefinita del sistema senza chiedere conferma, quindi assicurati di impostarla prima.

4.) uscire dal programma (questo non è effettivamente un dato)

:q 

O

Uso Aptana. Aptana è piuttosto dolce, è gratis e ha un'ottima funzionalità ftp.

1

Se avete problemi con Visual Studio 2012 riguardanti la stampa di una handeling il problema descritto in evidenza:

  • scaricare e installare questo Power Tool che implementa la stampa a colori , oltre ad alcune altre caratteristiche e correzioni di bug. Per me va bene!
3

Recentemente ho confrontato le 2 soluzioni già citati: vim & pygments. Entrambi danno grandi risultati, ma è possibile utilizzarli rapidamente:

  • pygments non fornisce l'esportazione diretta in PDF. Quindi, la soluzione più semplice che ho trovato è stata quella di esportare in HTML e quindi utilizzare wkhtmltopdf. È possibile combinare entrambe le operazioni utilizzando il seguente script bash:
src2pdf() { 
    local noext="${1%.*}" 
    pygmentize -O full -o "$noext.html" "$1" 
    # enabling line wrapping in <pre> blocks 
    perl -i -wpe '/<style.*>$/&&($_.="pre{white-space:pre-wrap;}\n")' "$noext.html" 
    wkhtmltopdf "$noext.html" "$noext.pdf" 
    rm "$noext.html" 
} 
  • per vim, è semplice come questo: TERM=xterm-256color vim '+hardcopy >out.ps' +q code.src ho scoperto che la variabile $TERM ambiente può influenzare i colori di output, quindi preferisco per impostarlo esplicitamente. E, infine, potrebbe essere necessario ottimizzare il vostro .vimrc un po ':
set printfont=:h9 
set printoptions=number:y,left:5pc 
1

Lo strumento chiamato enscript è molto lo strumento per fare questo. È molto potente, non è legato a un editor né a una lingua e puoi creare PDF con l'evidenziazione della sintassi.

La documentazione dice quasi tutto.

enscript man page

0

soluzione per shell Bash

  1. Aggiungere questa linea a ~/.bashrc se si utilizza UBUNTU
    o, per ~/.bash_profile se si utilizza Mac
    Se questo file non esiste, Crealo.

    alias LPRC = 'vim -me -c ": syntax on" -c ": cartaceo" -c ": q"'

  2. source ~/.bashrc o source ~/.bash_profile

  3. Per stampare ciao colorato.py solo fare questo:
    lprc hello.py invece di lpr hello.py

Problemi correlati