Syntax Highlighter

Overview

Einleitung

Das Ziel dieses Projektes ist es, vorhanden Quellcode in Microsoft Word oder Microsoft Power Point per Knopf-Druck direkt zu formatieren – ohne Umwege. Quellcode der direkt über Copy & Paste von Notepad++ eingefügt wird, verliert die Syntax Highlighting. Im Notepad++ kann die Textformatierung über den Menüpunkt Erweiterungen > NppExprt > Copy RTF to Clipboard mit kopiert werden.

Umsetzung

Die PHP Bibliothek GeSHi bietet ein sehr umfangreiches Syntax Highlighting von über 258 Programmiersprachen. Aus diesem Grund wurde sich für GeSHi entschieden. Für die Ausführung von GeSHi wird in der nativen Umgebung ausgeführt.

Im folgendem Bild wird die grobe Struktur und Abhängigkeiten der Entwicklung dargestellt. Umsetzung

Das Add-In kommuniziert über ein vorgeschalteten PHP Skript (CLI) mit der GeSHi-Bibliothek. Die Kommunikation mit dem CLI Skript läuft über den Streams vom Command Line Interface. Für die Befehle für Konfiguration o.ä. wird der Standard Input Stream verwendet, um das Ergebnis abzufangen wird der Standard Output Stream verwendet. Beim übertragen vom Quellcode wird dieser noch mit der Base64 Kodierung verschlüsselt. Dies dient dazu, dass jede beliebige Eingabe vom Benutzer (Quellcode) möglich ist. Es würde zu einem unerwünschten Verhalten führen, wenn zufällig im Quellcode reservierte Schlagwörter für den Command Stream verwendet werden würde. Die Ergebnisdarstellung läuft in plain text.

Entwicklungsumgebung

Das Add-In wurde in folgender Umgebung entwickelt:

  • Microsoft Windows 7 x64
  • Microsoft Visual Studio 2015 (VSTO Add-In für Microsoft Word 2010 und Microsoft PowerPoint 2010; C#)
  • Notepad++ für PHP Skript Editierung
  • PHP 5.6

Funktionen

Einstellungen werden gespeichert (wie Auswahl der Programmiersprache) für den nächsten Start von Microsoft Word oder Microsoft Power Point

  • 258 Programmiersprachen können ausgewählt werden (siehe: http://bauer-sw.de/geshi-unterstuetze-programmiersprachen/)
  • Ausgewählte Textpassagen können formatiert werden
  • Es können die für ein relevante Programmiersprachen vorausgewählt werden
  • Bestimmte Zeilen können besonders hervorgehoben werden (Standard mit !!! am Beginn der Zeile, s. Einstellungen)

Offene Punkte

Die Erste Version ist erstellt und auch Einsatzbereit. Es ergeben sich folgende offene Punkte:

  • Weitere Microsoft Word und Microsoft PowerPoint Versionen testen (Getestet 2010 & 2013)
  • Rechtschreibprüfung für die Passagen deaktvieren
  • Vereinfachung des Installationsprozesses

Installation

  1. Download vom Add-In Syntax Highlighteropen in new window
  2. Auspacken der ZIP Archivs in ein Ordner Deiner Wahl. Ordnerpfad darf sich nicht mehr ändern, dieser wird für die Konfiguration benötigt.
  3. Microsoft Word schließen.
  4. Ausführen der Add-In Installation „Dein Pfad\addin\Setup.exe“.
  5. Starten von Microsoft Word.
  6. Unter dem Reiter „Add-Ins“ die „Settings“ für das Syntax Highlighter Add-In öffnen.
  7. Unter dem Reiter „Paths“ im „Settings“ Dialog die Datei- und Ordnerpfade auf Deine Pfade (siehe Schritt 2) anpassen.
  8. Dialog mit Ok bestätigen. Einstellungen werden gespeichert. Viel Vergnügen!

Anwendung

Beispiel

  1. Selektieren der gewünschten Textpassage im Dokument
  2. Aktivieren des Add-In Reiters
  3. Auswahl der der Programmiersprache
  4. „Highlight“ betätigen

PHPopen in new window, GeSHiopen in new window und Microsoft Office Developer Toolsopen in new window