Question

Le résultat obtenu lors de l’impression de sources C ++ à partir d’Eclipse est plutôt moche.

Existe-t-il un moyen / un plugin pour imprimer de jolis codes sources C ++ comme par exemple. avec a2ps (qui utilise probablement encore un autre filtre pour le code source C)?

Était-ce utile?

La solution

J'utilise aussi enscript pour cela. Voici un alias que j'utilise souvent:

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

et je l'utilise comme ceci:

cpp2ps -P main.ps main.cpp

Il existe plusieurs autres options intéressantes dans enscript , notamment la rotation, une sortie à 2 colonnes, les numéros de ligne, les en-têtes / pieds de page, etc. Consultez le page de manuel enscript .

De plus, sur Mac, XCode imprime très bien le code C ++.

Autres conseils

Voir cet DDJ article utilisant enscript comme le joli moteur d’impression.

Je voudrais développer la réponse de Windows 7 car certaines étapes clés sont omises:

Ceci est destiné aux utilisateurs de MinGW avec Eclipse CDT

0) Si vous n'avez pas Python GDB, ouvrez un shell / une commande et utilisez MinGW-get.exe pour "installer"    GDB compatible Python, par ex.

   MinGw-get.exe install gdb-python

1a) Obtenez Python 2.7.x à partir de http://python.org/download/ et installez

1b) Assurez-vous que PYTHONPATH et PYTHONHOME sont définis dans votre environnement:

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

1c) Ajoutez PYTHONHOME à votre CHEMIN

 %PYTHONHOME%;...

2a) Ouvrez un texte entrez, entrez les déclarations suivantes. Notez que la 3ème ligne est     pointant vers où se trouvent les scripts python. Voir les notes ci-dessous à ce sujet!

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) Enregistrer sous ".gdbinit" REMARQUE: l’explorateur Windows ne vous laissera pas nommer un fichier commençant par     avec une période d'explorateur. La plupart des modifications de texte (y compris le Bloc-notes) vous le permettront. GDB init     les fichiers sont comme des "scripts" de commandes GDB que GBD exécutera lors du chargement.

2c) Le fichier '.gdbinit' doit se trouver dans le répertoire de travail de GDB (probablement     le répertoire racine de vos projets mais votre IDE peut vous le dire.

3) Ouvrez la boîte de dialogue Préférences d'Eclipse (ou d'un autre IDE). Accédez au sous-menu C ++ Debugger.

4) Configurez Eclipse pour utiliser C: \ MinGW \ bin \ gdb-python27.exe en tant que débogueur et votre .gdbinit en tant que fichier de configuration.

5a) Recréez toutes vos configurations de lancement de débogage (supprimez l’ancienne et créez-en une nouvelle à partir de rien).

--OR--

5b) Éditez chaque configuration de débogage et dirigez-la vers le nouveau gdb-python.exe ET pointez-la vers le.

Si vous rencontrez des problèmes:

- N'oubliez pas de changer l'emplacement du répertoire python dans le code python ci-dessus!    Ce répertoire est créé par MinGW, alors ne cherchez pas à télécharger les jolies imprimantes, MinGW    l'a fait pour vous à l'étape zéro. Allez juste votre directeur d’installation MinGW, le dossier de partage,    le dossier GCC (avec le numéro de version) et vous trouverez le dossier python. C'est ce lieu    devrait être en script python chargé par GDB.

- De plus, le .gdbinit est un PITA, assurez-vous qu'il est nommé correctement et dans le dossier de travail de GDB    qui n'est pas nécessairement où se trouve gdb-python.exe! Examinez votre sortie GDB lors du chargement de GDB pour voir si un "python-enabled" apparaît pendant le chargement et si les instructions du fichier .gdbinit apparaissent.

- Enfin, j'ai eu beaucoup de problèmes avec les variables système. Si python vous donne 'ImportError', il est fort probable que vous n'ayez pas défini PYTHONPATH ni PYTHONHOME.

- Le répertoire avec 'gdb-python27' (par exemple, C: \ MinGW \ bin ') devrait également se trouver sur votre chemin. Si c'est le cas, la configuration de l'éclipse est un peu plus agréable car vous n'avez pas besoin de la mettre dans des chemins absolus. Mais encore, parfois, le .gbdinit a besoin d'un chemin absolu. si cela fonctionne, vous verrez la sortie de gbd (traces de console- > gdb) comme ceci au démarrage du débogueur:

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) 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top