Eclipse C++ красиво печатает?

Вывод, который мы получаем при печати исходных текстов C++ из Eclipse, довольно уродлив.

Есть ли способ / плагин для красивой печати исходного кода C++, например, с a2ps (который, вероятно, использует еще один фильтр для исходного кода C)?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
4 355
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

См. Статью о DDJ, в которой записать используется в качестве красивого механизма печати.

Ответ принят как подходящий

Я также использую для этого enscript. Вот псевдоним, который я часто использую:

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

и я использую это так:

cpp2ps -P main.ps main.cpp

В enscript есть несколько других отличных опций, включая вращение, вывод в 2 столбца, номера строк, верхние / нижние колонтитулы и т. д. Ознакомьтесь с страница руководства Enscript.

Кроме того, на Mac XCode очень хорошо печатает код C++.

Я хотел бы расширить ответ Windows 7, потому что некоторые ключевые шаги не учтены:

Это для пользователей MinGW с Eclipse CDT

0) Если у вас нет python GDB, откройте оболочку / команду и используйте MinGW-get.exe для «установки» GDB с поддержкой Python, например

   MinGw-get.exe install gdb-python

1a) Получите Python 2.7.x из http://python.org/download/ и установите

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 init файлы подобны «сценариям» команд GDB, которые GBD выполнит при загрузке.

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 сделал это за вас на нулевом шаге. Просто перейдите к директору установки MinGW, в общую папку, папка GCC (имеет номер версии), и вы найдете папку python. Это место то, что должен быть в скрипте Python, загруженном GDB.

--Кроме того, .gdbinit является PITA, убедитесь, что он правильно назван и находится в рабочей папке GDB. что не обязательно там, где находится gdb-python.exe! Посмотрите на свой вывод GDB при загрузке GDB, чтобы увидеть, появляется ли a) 'python-enabled' во время загрузки и появляются ли операторы в .gdbinit.

- Наконец, у меня было много проблем с системными переменными. Если python выдает «ImportError», то, скорее всего, вы не установили PYTHONPATH или PYTHONHOME.

--Каталог с 'gdb-python27' (например, C: \ MinGW \ bin) также должен быть на вашем пути, и если это так, это немного упрощает настройку eclipse, потому что вам не нужно вводить абсолютные пути . Но все же иногда .gbdinit нуждается в абсолютном пути. если он работает, вы увидите вывод gbd (console-> gdb traces), как это при запуске отладчика:

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) 

Другие вопросы по теме