Formatierten Quellcode mit Syntaxhervorhebung in Word einfügen

Viele von euch haben bestimmt schon einmal einen Teil Quellcode in ein Dokument einfügen müssen. Dabei stellt sich aber für gewöhnlich ein Problem. Bei einfachen Kopieren wird immer nur der Text übernommen, nicht aber die tolle Syntaxhervorbebung. Diese erleichtert aber extrem die Lesbarkeit und man möchte sie daher mit übernehmen.

eclipse Syntaxhervorhebung

Die schlechte Lösung des Problems

Ich habe bisher, wie vermutlich die meisten von euch, das Problem wie folgt gelöst. Man macht einen Screenshot des Quellcodes in dem Editor, in dem die Syntaxhervorhebung funktioniert und erstellt sich dann ein Bild von dem entsprechenden Quellcode. Dieses Bild fügt man dann ich das Dokument ein.

Diese Lösung hat aber einen entscheidenden Nachteil. Viele Quelltexte aus Dokumenten werden als Vorlage verwendet und müssen daher aus dem Dokument kopiert werden können. Mit einem Bild ist das aber natürlich nicht möglich.

Die einfache aber tolle Lösung

Durch Zufall bin ich auf folgende einfache Lösung gestoßen. Ich habe diese Woche ein PDF-Dokument erstellen müssen und habe dazu auch zuerst mit Screenshots gearbeitet. Aber Aufgrund der Vielzahl an Quellcode Teilen und der bevorstehenden Abgabe habe ich dann darauf verzichtet, zu jedem einen Screenshot zu erstellen. Also habe ich den Quellcode einfach in eclipse markiert und in Word eingefügt.

Und dann hat es mich buchstäblich vom Hocker gehauen. Die gesamte Syntaxhervorhebung wurde 1:1 übernommen. Ich konnte es mit mehreren Dateietypen unter mehreren eclipse Plugins rekonstruieren. Mit anderen Editoren wie z.B. notepad++ hat es aber leider nicht funktioniert, aber mit eclipse 3.5 klappt es. In Notepad++ geht es wohl doch, wie sleepy in seinem Kommentar berichtet hat. Ich kann auch keine Aussage darüber treffen, ob es auch mit andern Office Suiten wie OpenOffice funktioniert. Aber da es mit Word 2007 inkl. Service Pack 2 ja auch sehr komfortabel möglich ist eine PDF zu erzeugen, bin ich mit der Lösung vollkommen zufrieden. Hier mal ein kleines Beispiel, wie es dann innerhalb von Word aussieht, nachdem man den Quellcode eingefügt hat:

Word 2007 Syntaxhervorhebung

Kennt ihr einen anderen Editor, der das gleiche ermöglicht. Oder kennt ihr auch eine andere Office Suite, die das einfügen mit Syntaxhervorhebung unterstützt? Wenn ja, würde ich mich sehr über einen Kommentar freuen. Ich kann dann hier eine kleine Tabelle einfügen mit Kombinationen, bei denen es funktioniert.

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

20 Kommentare » Schreibe einen Kommentar

  1. notepad++ verfügt über die funktion „copy text with syntax highligthing“, welche genau das macht, was du haben willst.

    • Das wäre ja toll. Leider kann ich diese Funktion in meinem Notepad++ v6.3 nicht finden. Benötigt man dazu vielleicht noch ein Plugin?

      • Okay, ja sorry. Du benötgst ein Plugin und zwar „nppExport“ dort kannst du entweder das ganze File im RTF(Rich Text Format) exportieren oder hast eben bei Rechtsklick auf einen markierten Ausschnitt die Option „Copy text with syntax highligthning“.

        • OK, danke für den Hinweis. Es ist bei mir installiert, aber über einen Rechtsklick funktioniert es leider nicht. Aber über „Erweiterungen->NppExport->Copy all formats to clipboard“ funktioniert es hervorragend.

          Das ist echt klasse, denn Notepad++ kennt ja sehr viel mehr Sprachen als eclipse in der Minimalinstallation. Außerdem verwenden ich in eclipse einen dunklen Hintergrund und den möchte ich nicht in meinem Word-Dokument haben.

          Kannst du etwas darüber sagen, ob das Einfügen inkl. Highlighting auch in anderen Office-Suites funktioniert oder in welchen Programmen es auch funktioniert hat?

          • Wird denn auch der Hintergrund nach Word übertragen? Den kann man doch in dem Fall sicher einfach wieder innerhalb von Word ändern?

          • Ja, die Hintergrundfarbe wird auch mitkopiert. Ich verwende z.B. ein Theme mit schwarzem Hintergrund und heller Schrift. Dabei wird dann auch der schwarze Hintergrund kopiert. Diesen kann ich zwar dann in Word auch auf Weiß umstellen, aber dann sieht man eben die Schrift sehr schlecht. Grundsätzlich ist es aber natürlich möglich die Farben, auch die der Texte, nachträglich zu ändern.

        • OK, danke für den Hinweis. Es ist bei mir installiert, aber über einen Rechtsklick funktioniert es leider nicht. Aber über „Erweiterungen->NppExport->Copy all formats to clipboard“ funktioniert es hervorragend.

          Das ist echt klasse, denn Notepad++ kennt ja sehr viel mehr Sprachen als eclipse in der Minimalinstallation. Außerdem verwenden ich in eclipse einen dunklen Hintergrund und den möchte ich nicht in meinem Word-Dokument haben.

          Kannst du etwas darüber sagen, ob das Einfügen inkl. Highlighting auch in anderen Office-Suites funktioniert oder in welchen Programmen es auch funktioniert hat?

    • Den Punkt „plugin command“ gibt es bei mir leider nicht. Dafür brauche ich wohl auch wieder ein Plugin 😉

      Ich habe im Text oben einen Hinweis auf deinen Kommentar mit der Lösung zu notepad++ gesetzt.

  2. hi,

    das ganze geht auf dem mac auch von eclipse zu opfenoffice.
    Ich benutze aber lieber Pages. Kopieren dann einfach von opfenoffice weiter.
    Also erst von Eclipse nach OpenOffice danach von dort auf Pages.

      • Hey,

        also irgendwo steckt jetzt der Wurm. Mit der Methode die ich gesagt habe funktioniert es immer. Aber ab und zu kann ich auch mit den Hervorhebungen direkt von Eclipse zu Pages kopieren meistens aber nicht. Muss also irgendwo an Pages liegen wieso es nicht immer funktioniert.

  3. Hallo zusammen,

    ich habe mir eclipse runtergeladen, weiß aber nicht wie ich meinen sql Quellcode dort einfügen kann und dann in Word kopieren kann. Ich hab leider gar keine Ahnung davon und brauche es für eine Abschlussarbeit. Kannst du mir da eine Beschreibung geben, wie man das macht? Danke

    LG

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert