Wie füge ich einem Microsoft Word-Dokument formatierten Code hinzu?

29

Ich muss ein Dokument in MS-Word 2007 schreiben, das viele Beispiele für VB.NET- und C # -Code enthält.

Wie lässt sich der Code am besten in das Dokument integrieren?

Welche Stile benutzen die Leute?

(Ich habe keine Zeit, den Code von Hand zu bearbeiten / formatieren, und würde mich sehr freuen, wenn er genauso aussehen würde wie im Entwicklerstudio.)

In anderen Arbeiten, die Leute machen, die Programmierbücher schreiben, muss es eine gute automatisierte Lösung dafür geben ...


Ich würde gerne Word Stylesheets verwenden, um zu steuern, wie der Code aussieht, aber ich möchte nicht jedes Keyword usw. "auswählen" müssen, um den Stil festzulegen.


Siehe auch https://stackoverflow.com/questions/387453/how-do-you-display-code-snippets-in-ms-word-preserving-format-and-syntax-highlig/2653406#2653406

Ian Ringrose
quelle
Möglicherweise finden Sie stackoverflow.com/questions/760121/… nützlich.
Reisende
Von @ user1068538: Dieser Link könnte nützlich sein stackoverflow.com/a/2653406/1068538 . Ich denke, @ gargamels Antwort (im obigen Link zu SO) ist der einfachste Weg, Programmcode in einem Word-Dokument zu verwenden, insbesondere wenn Sie ein Buch schreiben, da es keine Rechtschreibfehler enthält.
Fixer1234

Antworten:

14

Sie können Quellmarkierungsdienste verwenden und in ein Word-Dokument kopieren / einfügen. Ich denke es wird der schnellste Weg sein ( upd. Einfache Copypaste von VS wird auch funktionieren).

Die zweite Möglichkeit besteht darin, einen Stil für Codeblöcke zu erstellen, ihn zu speichern und dann auf alle Codeblöcke anzuwenden.

Sashaeve
quelle
1
Wie verwende ich "Quellenhervorhebungsdienste"?
Ian Ringrose
4
Gehen Sie beispielsweise zu source.virtser.net , fügen Sie C # -Code ein, markieren Sie die Ausgabe, kopieren Sie sie und fügen Sie sie in Word ein.
source.virtser.net link give "Seite nicht gefunden" error, "Die Seite, auf die Sie zugreifen
wollten,
11

Word unterstützt Syntaxhervorhebungen oder andere Codeformatierungen nicht von Haus aus. Daher ist es am besten, die Hervorhebung usw. in einem anderen Programm zu erstellen (Visual Studio, Eclipse, Notepad ++ oder diese Website, die 14 Sprachen beherrscht und keine Installation erfordert).

Wenn Sie den Text jedoch direkt in das Word-Dokument einfügen, kann dies zu Kopfschmerzen wie Rechtschreibung und Unterstreichung der Grammatik führen.

Um dies zu beheben, anstatt direkt zu kopieren und einzufügen, verwenden Sie Einfügen -> Objekt -> OpenDocument-Text . Dadurch wird ein neues Dokument geöffnet. Fügen Sie den Text hier ein und schließen Sie das Fenster. Ihr Code wird nun als Objekt angezeigt, mit allen im vorherigen Fenster angezeigten Formatierungen, jedoch ohne Rechtschreib- oder Grammatikprüfung.

Obwohl es möglich ist, Code mit Stilen zu formatieren, gibt es keine eingebauten Stile, um dies zu tun, und es ist nicht wirklich das, was Stile tun sollen. Wenn Sie Formatvorlagen zum Formatieren Ihres Codes verwenden möchten, verwenden Sie diese Formatvorlage in allen von Ihnen erstellten Objekten.

Update: Wenn Sie dies mit Codestilen tun möchten, finden Sie hier einige Ideen.

  • Verwenden Sie einen Absatzstil mit einer monospaced Schriftart
  • Heller Hintergrund (grau funktioniert gut)
  • Rechtschreibung deaktiviert
  • Stellen Sie sicher, dass der Zeilenabstand Ihren Wünschen entspricht

Wenn Sie etwas mehr Komplexität hinzufügen möchten, können Sie Zeichenstile über den Absatzstil legen, um eine ähnliche Darstellung wie in der Codevorschau beim Stapelüberlauf mit unterschiedlicher Formatierung und / oder Farbe für Klassennamen, Instanznamen usw. zu erhalten.

Das Einrichten des Stils wie folgt ist aufwendig, aber Sie können ein anpassbareres Ergebnis erzielen als mit der Syntax-Hervorhebung von Notepad ++ oder Visual Studio.

Zur Beschleunigung der Formatierung von Code mit einem Stil kann es hilfreich sein, zuerst die Syntaxhervorhebung in einem dieser Programme vorzunehmen und dann mit dem Dienstprogramm "Suchen" von Word nach Text zu suchen, der einer Farbe oder einem anderen Schriftstil entspricht, ohne dass dies erforderlich ist Identifizieren Sie manuell, was ein Klassenname ist, zum Beispiel im Code manuell (es befindet sich unter more-> format in der Suchabfrage).

soandos
quelle
@ianRingrose gibt es eine andere Funktion, die Sie suchen?
Soandos
Ich wünsche mir, dass die Syntax-Hervorhebung mit Word-Stilen durchgeführt wird, damit ich die Schriftgröße usw. problemlos ändern kann.
Ian Ringrose
@IanRingrose, aktualisiert. Lassen Sie mich wissen, wenn etwas fehlt.
Soandos
Ich denke, dies ist eine der besten Möglichkeiten, Code in Word zu formatieren. Ich hatte immer Probleme beim Formatieren und als Objekt habe ich keine Probleme mehr. Vielen Dank ; )
xtarsy
In MS Word 2007 und höher besteht eine Alternative zu "Einfügen -> Objekt -> OpenDocument-Text" darin, den Code nach dem Einfügen auszuwählen und "Überprüfen |" zu verwenden Prüfen | Stellen Sie die Sprache ein und stellen Sie sicher, dass "Rechtschreibung oder Grammatik nicht prüfen" ausgewählt ist. Möglicherweise müssen Sie diese Einstellung mehrmals anwenden, damit sie haftet.
JohnC
4

Ich benutze gerne Notepad ++. Wählen Sie in NP ++ die richtige Syntax, klicken Sie mit der rechten Maustaste auf den ausgewählten Code, wählen Sie "Plugin-Befehle" und klicken Sie auf "Text mit Syntaxhervorhebung kopieren". Fügen Sie es in Word ein und Sie haben sehr gut aussehenden Code.

Quelle: Beste Möglichkeit, Code-Schnipsel in Word anzuzeigen? [geschlossen]

Robert
quelle
3

Wenn Sie Ihren VS so einrichten, dass er so aussieht, wie er im Dokument aussehen soll, funktioniert das einfache Kopieren und Einfügen des Codes. Farben und andere Formatierungen bleiben erhalten.

Wenn Sie jedoch jemals den Stil im Dokument ändern möchten, ist dies sehr schwierig zu verwalten. In diesem Fall müssen Sie einen codeStil in Word erstellen und sicherstellen, dass der gesamte eingefügte Code darauf eingestellt ist. Wenn Sie dann den Stil ändern, ändert sich alles, was als dieser Stil markiert ist. Auf diese Weise können Sie keine Syntaxhervorhebung wie in VS durchführen.

Oded
quelle
Es gibt einige Bedenken: Wie sieht eine Linie aus, die länger als die Breite des Dokuments ist?
Reisende