Подтвердить что ты не робот

Распечатайте исходный код всего проекта java

Мне нужно распечатать весь исходный код java-проекта. Окончательная версия должна выглядеть так: Eclipse: File → Print. Но с помощью этой функции вы можете печатать только один файл одновременно.

Есть ли способ распечатать (или создать pdf/rtf) весь проект (все *.java, *.xml,... файлы) с помощью одной команды?

Im, использующий eclipse galileo на окнах xp sp3


EDIT: Для каждого класса/файла страница должна (более или менее) выглядеть следующим образом:

C: \.. \.. \..\LibraryExtractor.java

1 package utils.libraries;
2
3 import java.io.File;
9
10 /**
11 * @
12 * @
13 * @
14 */
15 public class LibraryExtractor {
16
17 /**
18 * 
19 * 
20 *
21 * 
22 * 
23 *
24 *
25 */
26 public static void extranctLibrary(String library, File targetFile) throws
IOException, URISyntaxException {
27 targetFile.getParentFile().mkdirs();
28 if (!targetFile.exists())
29 targetFile.createNewFile();
30
31 ClassLoader classLoader = LibraryExtractor.class.getClassLoader();
32 InputStream in = classLoader.getResourceAsStream(library);
33 OutputStream out = new FileOutputStream(targetFile);
34
35 byte[] buf = new byte[1024];
36 int len;
37
38 while ((len = in.read(buf)) > 0)
39 out.write(buf, 0, len);
40
41 in.close();
42 out.close();
43 }
44 }
45

РЕШЕНИЕ:

  • enscript (с Cygwin)

  • Java2Html Eclipse-Plugin (только работает с Европой)

4b9b3361

Ответ 1

Если вы не возражаете при установке Cygwin или работаете в Linux, следующая команда сделает то, что вы хотите:

enscript -r -2 --file-align=2 --highlight --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf

enscript - это программа для преобразования текстовых файлов в различные форматы вывода; PostScript по умолчанию, но вы также можете создавать HTML, RTF и несколько других. Опция -r говорит, что печать в альбомной ориентации, -2 - это два столбца на странице (сохранение деревьев), --file-align=2 говорит, что каждый новый файл должен начинаться на своей собственной физической странице, --highlight включает подсветку синтаксиса для конкретного языка (он попытается выяснить язык, или вы можете указать "java" ), --line-numbers должен быть очевиден, а -o - отправляет вывод в стандартную версию (где он передан в ps2pdf).

find генерирует список файлов; здесь я говорю, чтобы найти все файлы Java в текущем каталоге. Выход передается в качестве аргументов для форматирования; для "50-100 файлов" вы должны быть в порядке, но вам может потребоваться прочитать о xargs. Вы можете избавиться от аргумента -name для создания списка всех файлов или добавить несколько аргументов -name, чтобы добавить в список больше типов файлов; Я бы не пошел с подходом "все файлы", потому что тогда вы получите исходные файлы управления.

ps2pdf выводит текст PostScript и преобразует его в PDF, который вы можете распечатать.

Ответ 2

Если вы можете позволить себе потратить $50 купить Ultraedit, откройте все файлы и распечатайте их...

Возможности Ultraedit о печати включают в себя:

  • Предварительный просмотр
  • Номера строк печати
  • Команда печати не печатает скрытые строки
  • Верхние и нижние колонтитулы (с командами выравнивания), поля и разрывы страниц
  • Печать подсветки синтаксиса в цвете
  • Печать 2 страниц на одном листе в альбомных или портретных режимах
  • Отдельный выбор шрифта для отображения и принтера (поддерживает все шрифты, включая шрифты True Type)
  • Печать всех открытых файлов

Ответ 3

Я использовал Java2Html из Eclipse в прошлом. Посмотрите, подходит ли оно вашим потребностям.

Ответ 4

Я не думаю, что вы можете сделать это в Eclipse (конечно, вы могли бы написать плагин, который делает это).

Если вы используете Ant в качестве инструмента сборки, вы можете использовать задачу concat, а затем распечатать полученный файл

<concat destfile="${concat.src.dir}/concat.txt" force="no">
    <filelist dir="${src.dir}" includes="**/*.java **/*.xml" />
</concat>

Ответ 5

Необязательный вариант - использовать vim в пакетном режиме для создания набора цветных HTML файлов, а затем распечатать, перетащив все их на принтер (я знаю, что это можно сделать, некоторое время назад коллега напечатал весь J2SE API, и я надеюсь, что она не стала страницей xD).

find -name "*.java" -exec vim '+set nu' +TOhtml +wq +q '{}' \;

Ответ 6

Если вы хотите форматировать точно так же, как в Eclipse, вам, вероятно, придется печатать из Eclipse. Вы потратите больше времени, пытаясь дублировать форматирование печати, которое у вас есть в Eclipse, с помощью другого метода.

Еще один важный момент: если вы используете фальцовку в текстовых редакторах в Eclipse, тогда сложенные строки не будут отображаться в печатной версии.

Если вам действительно нужно предоставить исходный код как деревья, я бы предложил вам попробовать и убедить своих клиентов, что подсветка цвета и синтаксиса не важна, а затем отформатируйте все в Eclipse и распечатайте в другом месте. В других ответах есть предложения по номерам строк и т.д.

Ответ 7

http://sourceforge.net/projects/javasrc2pdf/?source=typ_redirect

Это создает все PDF файлы и с достаточно хорошей подсветкой синтаксиса, но все они находятся в отдельных файлах. Но есть много способов объединить pdf файлы там