Pergunta

A saída chegarmos ao imprimir fontes C ++ do Eclipse é um pouco feio.

Existe são maneira / um plugin para impressão bonita C ++ código-fonte como por exemplo com a2ps (que provavelmente está usando ainda um outro filtro para código fonte C)?

Foi útil?

Solução

Eu também uso enscript para isso. Aqui está um alias Costumo usar:

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

e eu usá-lo como este:

cpp2ps -P main.ps main.cpp

Existem várias outras opções grandes em enscript incluindo rotativo, de saída 2-coluna, os números de linha, cabeçalhos / rodapés, etc. Ver a página homem enscript .

Além disso, em Macs, XCode imprime código C ++ muito bem.

Outras dicas

Veja este href="http://www.ddj.com/cpp/197002115?pgno=4" rel="nofollow noreferrer"> DDJ artigo enscript como o mecanismo de impressão bonita.

Eu gostaria de expandir sobre a resposta Windows 7 porque alguns passos fundamentais são deixados de fora:

Este é para usuários MinGW com Eclipse CDT

0) Se você não tem python GDB, abra um shell / comando e usar MinGW-get.exe para 'instalar' Python-activado, por exemplo, o GDB

   MinGw-get.exe install gdb-python

1a) Get Python 2.7.x de http://python.org/download/ e instalar

1b) Certifique-se de PYTHONPATH e PYTHONHOME são definidos em seu ambiente:

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

1c) Adicionar PYTHONHOME ao seu PATH

 %PYTHONHOME%;...

2a) Abra um texto entrar, entrar as seguintes declarações. Observe a linha 3 é apontando para onde os scripts python estão localizados. Veja as notas abaixo sobre isso!

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) Salvar como '.gdbinit' NOTA: O Windows Explorer não vai deixar você nomear um arquivo que começa com com um período de explorador. A maioria das edições de texto (incluindo o bloco de notas) vai deixar você. GDB inicialização arquivos são como 'scripts' de comandos GDB que GBD serão executados após o carregamento.

2c) As necessidades de arquivo '.gdbinit' para estar no diretório de trabalho do GDB (provavelmente este é seus projetos de diretório raiz, mas o seu IDE pode dizer.

3) Abra o Eclipse (ou outro diálogo IDE) Preferências. Ir para o sub-menu C ++ Debugger.

4) Configure o Eclipse para uso C:\MinGW\bin\gdb-python27.exe como o depurador e sua .gdbinit como o arquivo de configuração.

5a) Re-criar todas as suas configurações de lançamento de depuração (apagar o antigo e criar um novo a partir do zero).

--OR--

5b) Editar cada configuração de depuração e apontá-lo para o novo gdb-python.exe e apontá-lo para o arquivo.

Se você tiver problemas:

- Não se esqueça de alterar a localização para o diretório python no código python acima! Este diretório é criado por MinGW, por isso não vá olhando para baixar as impressoras bonitas, MinGW fiz isso por você na etapa zero. Apenas Goto seu MinGW instalar diretor, a pasta de compartilhamento, a pasta GCC (tem o número de versão) e você vai encontrar pasta python. Esta localização é o que deve estar no script python carregado pelo GDB.

- Além disso, o .gdbinit é um PITA, certifique-se o seu nome correcto e na pasta de trabalho do GDB que não é necessariamente onde gdb-python.exe está localizado! Olhe para a sua saída GDB ao carregar GDB para ver se a) 'python-habilitado' aparece durante a carga e que as declarações no .gdbinit estão aparecendo.

- Finalmente, eu tinha um monte de problemas com as variáveis ??do sistema. Se python dá-lhe 'ImportError', então muito provavelmente você não tiver definido PYTHONPATH ou PYTHONHOME.

- O diretório com 'gdb-python27' (por exemplo C: \ MinGW \ bin') também deve estar no seu caminho e se for, isso torna a configuração de eclipse um agradável pouco, porque você não precisa colocar em caminhos absolutos. Mas, ainda assim, às vezes o .gbdinit precisa de um caminho absoulte. se ele funciona você vai ver a saída dos gbd (Console-> GDB traços) como este na inicialização do depurador:

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) 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top