Eclipse C ++漂亮的打印?

时间:2008-09-29 11:08:19

标签: c++ eclipse printing eclipse-cdt

从Eclipse打印C ++源代码时得到的输出相当难看。

是否有方法/插件可以很好地打印C ++源代码,例如使用a2ps(可能是使用C源代码的另一个过滤器)?

3 个答案:

答案 0 :(得分:2)

请参阅此DDJ文章,该文章使用 enscript 作为漂亮的打印引擎。

答案 1 :(得分:2)

我也使用enscript。这是我经常使用的别名:

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

我这样用它:

cpp2ps -P main.ps main.cpp

enscript还有其他几个很棒的选项,包括旋转,2列输出,行号,页眉/页脚等。查看enscript man page

此外,在Mac上,XCode非常好地打印C ++代码。

答案 2 :(得分:0)

我想扩展Windows 7的响应,因为省略了一些关键步骤:

这适用于使用Eclipse CDT的MinGW用户

0)如果您没有python GDB,请打开shell /命令并使用MinGW-get.exe来“安装”    支持Python的GDB,例如

   MinGw-get.exe install gdb-python

1a)从http://python.org/download/获取Python 2.7.x并安装

1b)确保在您的环境中设置了PYTHONPATH和PYTHONHOME:

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

1c)将PYTHONHOME添加到你的PATH

 %PYTHONHOME%;...

2a)打开文本输入,输入以下语句。注意第3行是     指向python脚本所在的位置。请参阅下面有关此内容的说明!

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)另存为'.gdbinit'注意:Windows资源管理器不允许您命名以...开头的文件     与探险家的一段时期。大多数文本编辑(包括记事本)都会让你。 GDB初始化     文件就像GBD在加载时执行的GDB命令的“脚本”。

2c)'。gdbinit'文件需要位于GDB的工作目录中(很可能是     您的项目根目录,但您的IDE可以告诉您。

3)打开Eclipse(或其他IDE)首选项对话框。转到C ++ Debugger子菜单。

4)配置Eclipse以使用C:\MinGW\bin\gdb-python27.exe作为调试器,并使用.gdbinit作为配置文件。

5a)重新创建所有调试启动配置(删除旧配置并从头开始创建新配置)。

--OR--

5b)编辑每个调试配置并将其指向新的gdb-python.exe并将其指向。

如果您遇到问题:

- 不要忘记在上面的python代码中将位置更改为python目录!    这个目录是由MinGW创建的,所以不要去下载漂亮的打印机MinGW    在第0步为你做了。只需转到你的MinGW安装导演,共享文件夹,    GCC文件夹(有版本号),你会发现python文件夹。这个位置是什么    应该是由GDB加载的python脚本。

- 另外,.gdbinit是一个PITA,确保它的名称正确并且在GDB的工作文件夹中    这不一定是gdb-python.exe所在的位置!在加载GDB时查看您的GDB输出,看看是否a)'load-enabled'在加载期间出现,并且.gdbinit中的语句出现。

- 最后,我对系统变量有很多问题。如果python给你'ImportError',那么你很可能没有设置PYTHONPATH或PYTHONHOME。

- 带有'gdb-python27'的目录(例如C:\ MinGW \ bin')也应该在你的路径上,如果是,它会使eclipse设置得更好,因为你不需要放在绝对路径中。但是,有时候.gbdinit需要一条绝对的道路。如果它工作,你会在启动调试器时看到gbd(console-> gdb trace)的输出:

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)