web-dev-qa-db-fra.com

Comment afficher les extraits de code dans MS Word en préservant la mise en évidence du format et de la syntaxe?

Est-ce que quelqu'un connaît un moyen d'afficher du code dans les documents Microsoft Word qui préserve la coloration et le formatage? De préférence, la méthode serait également discrète et facile à mettre à jour.

J'ai essayé d'inclure du code en tant que texte normal, ce qui est affreux et gênant lors de l'édition de texte normal. J'ai également essayé d'insérer des objets, un document WordPad et une zone de texte, dans le document, puis de placer le code dans ces objets. Le code semble beaucoup mieux et est plus facile à éviter lors de la modification du reste du texte. Cependant, ces objets ne peuvent s'étendre que sur une seule page, ce qui en fait un cauchemar lorsque plusieurs pages de code doivent être ajoutées.

Enfin, je sais qu’il existe de bien meilleurs éditeurs/formats qui n’ont pas de problème à gérer cela, mais je suis coincé avec MS Word.

1724
Lawrence Barsanti

Voici le meilleur moyen, pour moi, d’ajouter du code dans Word:

  1. allez dans l'onglet "insérer", cliquez sur le bouton "objet" (c'est à droite) 
  2. choisissez "OpenDocument Text" qui ouvrira un nouveau document Word incorporé
  3. copiez et collez votre code à partir de Visual Studio/Eclipse dans cette page Word intégrée
  4. sauver et fermer

Le résultat est très joli. Voici les avantages de cette méthode:

  • le code conserve sa mise en page et ses couleurs d'origine
  • le code est séparé du reste du document, comme s'il s'agissait d'une image ou d'un graphique
  • les fautes d'orthographe ne seront pas surlignées dans le code (c'est cool!)

Et cela ne prend que quelques secondes.

1608
gargamel

Téléchargez et installez Notepad ++ et procédez comme suit:

  1. Collez votre code dans la fenêtre.

  2. Sélectionnez la langue de programmation dans le menu Langue.

  3. Sélectionnez le texte à copier.

  4. Cliquez avec le bouton droit de la souris et sélectionnez commandes du plug-in -> Copier le texte avec la surbrillance de la syntaxe} _;

  5. Collez-le dans MS Word et vous êtes prêt à partir!

Mise à jour du 29/06/2013:

Notepad ++ a un plugin appelé "NppExport" (livré pré-installé) qui vous permet de copier au format RTF, HTML et ALL. Il permet des dizaines de langues, alors que les IDE susmentionnés sont limités à une poignée (sans autre plug-in).

J'utilise Copier tous les formats dans le presse-papier et "coller au format HTML" dans MS Word. 

screenshot from notepad++

913
Saad

 enter image description here

Format du code Le complément est maintenant disponible dans les macros complémentaires avec Office 365! Il vous suffit de sélectionner le code et de le convertir, qui le convertit en code couleur formaté avec numéros de ligne !!! 

Bit Réjouis-toi!

Le format de code est disponible ici: https://appsource.Microsoft.com/en-us/product/office/WA104379501?tab=Overview

107
Rahul Saini

Après avoir lu beaucoup de réponses connexes, je suis tombé sur ma propre solution, qui pour moi est la plus appropriée.

Le résultat ressemble à ceci:  the final result

Comme vous pouvez le constater, la syntaxe est la même que celle de Stack Overflow, ce qui est assez impressionnant.

Étapes à suivre pour reproduire:

débordement de pile

  1. Goto Poser une question (de préférence avec Chrome)
  2. Collez le code et ajoutez une balise language (par exemple, Java) pour obtenir un aperçu de la syntaxe.
  3. Copier le code de l'aperçu

dans Word

  1. Insertion> Table> 1x1
  2. Coller le code
  3. Conception de table> Frontières> Pas de frontière
  4. Sélectionnez le code> Modifier> Rechercher> Remplacer
    Rechercher un document ^ p (marque de paragraphe) Remplacer par ^ l (saut de ligne manuel)
    (Ceci est nécessaire pour éliminer les espaces entre certaines lignes)
  5. Sélectionnez à nouveau le code> Révision> Langue> cochez la case "Ne pas vérifier l'orthographe ou la grammaire"
  6. Enfin, ajoutez une légende en utilisant Références> Insérer une légende> Nouvelle étiquette> nommez-la "Liste" ou sth

Exemple de code grâce à ce gars

77
monty.py

Je tape mon code dans Visual Studio, puis copiez-collez dans Word. ça préserve les couleurs. 

51
Jimmy

Quand j'ai fait cela, j'ai beaucoup utilisé les styles. Ça aide beaucoup.

Ce que je fais est de créer un style de paragraphe (peut-être appelé "Code Example" ou quelque chose du genre) qui utilise une police monospace, des onglets soigneusement choisis, un arrière-plan gris très clair, une fine bordure noire au-dessus et en dessous avec l'orthographe désactivée. Je m'assure également que l'espacement interligne et inter-paragraphes est correct. Je crée ensuite des styles de caractères supplémentaires sur le dessus (par exemple, "Comment", "String", "Keyword", "Function Name Decl", "Variable Name Decl") que je superpose au-dessus; ceux qui définissent la couleur et si le texte est en gras/italique. Il est alors assez simple de marquer un exemple collé en tant que code et de le rendre vraiment beau, et cela fonctionne bien pour des extraits courts. De longs morceaux de code ne devraient probablement pas normalement être dans quelque chose qui va aller sur un arbre mort. :-)

L’avantage de le faire de cette façon est qu’il est facile de s’adapter à n’importe quel code que vous utilisez; vous n'avez pas besoin de certains IDE pour comprendre ce qui se passe pour vous. (Le problème principal? Généralement, les pages imprimées ne sont pas aussi larges que les fenêtres de l'éditeur.

27
Donal Fellows

Essayez de définir un style appelé "code" et faites-le utiliser une police de petite taille à largeur fixe.

Utilisation CTRL+SPACEBAR pour réinitialiser le style.

22
frankodwyer

Si vous êtes comme moi et que vous êtes trop paresseux ou pressé et que vous ne souhaitez pas télécharger de logiciel supplémentaire, vous pouvez utiliser http://markup.su/highlighter/ . C'est très simple et prend en charge plusieurs thèmes en surbrillance et de nombreux langages de programmation. http://markup.su/highlighter/ Dans mon cas, j’utilisais Visual Studio Code , ce qui n’autorisait pas la copie au format en raison des CSS impliquées dans le style (comme indiqué ici ).

Copiez le texte de la zone de prévisualisation puis, dans Word, accédez à Insertion -> Zone de texte, collez la prévisualisation à partir du site Web, mettez tout le texte en surbrillance, puis désactivez la vérification orthographique de cette zone de texte .

Voici à quoi ressemble finalement le code . code as seen in Word

18
maaw

C'est peut-être trop simple, mais avez-vous essayé de coller votre code et de définir la police sur Courier New?

18
chaos

Si vous utilisez Sublime Text, vous pouvez copier le code de Sublime vers MS Word en préservant la coloration syntaxique. 

Installez le paquet appelé SublimeHighlight .

En Sublime, à l’aide du curseur, sélectionnez le code que vous souhaitez copier, cliquez dessus avec le bouton droit de la souris, sélectionnez "Copier au format RTF" et collez-le dans MS Word.

16
Patrick_870206

C'est un peu indirect, mais cela fonctionne très bien. Obtenez LiveWriter et installez ce plugin:

http://lvildosola.blogspot.com/2007/02/code-snippet-plugin-for-windows-live.html

Insérez votre code en utilisant le plugin dans un article de blog. Sélectionnez tout et copiez-le dans Word.

Il a fière allure et peut inclure des numéros de ligne. Il couvre également les pages décemment.

HTH

Colby Africa

12
Shim Tait

Dans mon expérience, le copier-coller d’Eclipse et Notepad ++ fonctionne directement avec Word.

Pour une raison quelconque, j'ai eu un problème avec un fichier qui ne conservait pas la coloration. J'ai créé un nouveau fichier .Java, copier-coller du code dans ce fichier, puis copier-coller dans Word et cela a fonctionné ...

Comme les autres gars l'ont dit, créez un nouveau style de paragraphe. Ce que je fais, c’est d’utiliser des polices à espacement unique, telles que messageries neuves, de petite taille proche de 8 pixels pour les polices, à simple interligne sans espace entre les paragraphes, faire des taquets de tabulation petits (0,5cm, 1cm, .., 5cm), mettre une bordure simple autour du texte et désactiver les contrôles de grammaire. De cette façon, j'ai réalisé le freinage en ligne d'Eclipse, je n'ai donc rien à faire de plus.

J'espère que j'ai aidé;)

9
Dimitrios K.

Utilisez une police monospaced telle que Lucida Console, fournie avec Windows. Si vous coupez/collez à partir de Visual Studio ou de quelque chose qui prend en charge la coloration syntaxique, vous pouvez souvent conserver le jeu de couleurs du surligneur de syntaxe.

C'est l'approche la plus simple que je suis. Considérez que je veux coller du code Java.

  1. Je colle le code ici pour que les espaces, les onglets et les crochets de fleurs soient parfaitement mis en forme http://www.tutorialspoint.com/online_Java_formatter.htm

  2. Ensuite, je colle le code obtenu à l'étape 1 ici pour que les couleurs et les polices soient ajoutées au code http://markup.su/highlighter/

  3. Ensuite, collez le code de prévisualisation obtenu à l’étape 2 dans le fichier MS Word. Enfin ça va ressembler à ça

 enter image description here

7
Siddarth Kanted

Vim a une fonctionnalité astucieuse qui convertit le code au format HTML en préservant la coloration syntaxique, le style de police, la couleur de fond et même les numéros de ligne. Exécutez :TOhtml et vim crée un nouveau tampon contenant du balisage HTML.

Ensuite, ouvrez ce fichier html dans un navigateur Web et copiez/collez le rendu dans Word. Conseils Vim wiki a plus d’informations .

7
Gowtham

J'utilise Word 2010 et j'aime copier et coller à partir d'un github Gist. N'oubliez pas de garder le formatage source!

Je change ensuite de police en DejaVu Sans Mono.

Vous pouvez choisir de copier avec ou sans numérotation.

6
bluekeys

Vous pouvez également utiliser SciTE pour coller du code si vous ne souhaitez pas installer d'EDI lourds, puis télécharger des plugins pour tout le code que vous créez. Choisissez simplement votre langue dans le menu Langue, tapez votre code, le code en surbrillance, sélectionnez Édition-> Copier au format RTF, collez-le dans Word avec mise en forme (coller par défaut).

SciTE prend en charge les langues suivantes, mais probablement d'autres: Abaqus *, Ada, fichiers de définition MIB ANS.1 *, APDL, Assembleur (NASM, MASM), Asymptote *, AutoIt *, Avenue *, Fichiers batch (MS-DOS) , Baan *, Bash *, BlitzBasic *, Bullant *, C/C++/C #, Clarion , cmake *, conf (Apache), CSound , CSS *, D, fichiers diff *, E- Script *, Eiffel *, Erlang *, Flagship (Clipper/XBase), Flash (ActionScript) , Fortran *, Forth *, GAP *, Gettext, Haskell, HTML *, HTML avec JavaScript intégré, VBScript, PHP et ASP *, Gui4Cli *, IDL - MSIDL et XPIDL *, INI, propriétés * et similaires, InnoSetup *, Java *, JavaScript *, LISP *, LOT *, Lout *, Lua *, Marque, Matlab * , Metapost *, MMIXAL, MSSQL, nnCron, NSIS *, Objective Caml *, Opal, Octave *, Pascal/Delphi *, Perl, la plupart sauf des cas ambigus *, PL/M *, Progress *, PostScript *, POV-Ray *, PowerBasic *, PowerShell *, PureBasic *, Python *, R *, Rebol *, Ruby *, Scheme *, scriptol *, Specman E *, Spice, Smalltalk, SQL et PLSQL, TADS3 *, TeX et LaTeX , Tcl/Tk *, VB et VBScript *, Verilog *, VHDL *, XML *, YAML *.

6
Joseph Coco

Il n'y a vraiment pas de moyen propre de le faire, et cela pourrait toujours paraître louche en fonction de vos paramètres de style exacts.

Ce que vous pouvez essayer de faire est d’abord d’exécuter une conversion de code à HTML (de nombreux programmes le font), puis d’ouvrir le fichier HTML avec Word, ce qui pourrait vous fournir le code formaté et joli. , puis copiez-le et collez-le dans votre document.

5
Uri

Copier dans Eclipse et le coller dans Word est également une autre option.

5
imesh

Si son code source Java, copiez-le dans Visual Studio, puis recopiez-le dans Word.

4
imesh

Je le cherchais aussi et j'ai fini par créer quelque chose pour l'affichage de mon code ..__ Voici un bon moyen:

  • Créez une forme rectangulaire et placez votre texte à l'intérieur.
  • Changez la police en Consolas et en taille ~ 10.
  • Changez la police du texte en gris presque noir (gris 25%, plus foncé 75%)
  • Utilisez des couleurs plus sombres pour surligner votre texte si nécessaire et choisissez-en un pour le contour.

 enter image description here

4
Pedro Lourenço

Vous pouvez utiliser le code VS pour conserver le format du code et le surligner. Copiez et collez directement le code de VS.  enter image description here

4
bukowski

La meilleure présentation du code dans les documents consiste en une police à largeur fixe (comme elle devrait apparaître dans un IDE), avec un arrière-plan ombré ou une bordure claire ou une bordure claire pour distinguer le bloc des autres textes.

4
Rob

J'ai créé une méthode plus facile en utilisant tables, car elles sont plus faciles à créer, à gérer et plus cohérentes (avec la possibilité d'enregistrer le style de la table à l'intérieur du document lui-même), mais je n'ai pas trouvé une meilleure façon pour le schéma de coloration du code, désolé pour cela.

Pas:

  1. Créez une table 3x3.

  2. Sélectionnez la table et rendez ses bordures invisibles (option "Pas de bordures"), puis activez l'option "Afficher le quadrillage" .  enter image description here

  3. Ajustez l'espacement des cellules et la largeur des colonnes pour obtenir l'aspect souhaité. (Vous devrez entrer dans "Propriétés de la table" pour un réglage précis) .  enter image description here

  4. Créez un "style de paragraphe" portant le nom "code" uniquement pour vos extraits de code (comme indiqué dans https://stackoverflow.com/a/25092977/8533804)

  5. Créez un autre "style de paragraphe" portant le nom "Code_numberline" qui sera basé sur le style créé précédemment, mais vous ajouterez une ligne de numérotation dans sa définition (cela automatisera la numérotation des lignes).  enter image description here

  6. Appliquez "Code_numberline" à la première colonne et "Code" à la 3 colonne .  enter image description here

  7. Ajouter un remplissage dans la colonne du milieu .  enter image description here

  8. Enregistrez ce style de table et profitez-en!

3
Nader Belal

Ok, c’est bizarre, mais pour résoudre le problème de couleur d’arrière-plan, je colle le texte normalement, sélectionnez le bloc entier, cliquez sur l’outil Surligneur pour le surligner (même si le surlignage est réglé sur "Pas de couleur"), puis je peut styler le bloc de texte sans que la couleur d'arrière-plan du texte reste blanche. J'utilise VS 11 et Word 2010, mais le problème existe depuis longtemps (voir http://www.visualstudiodev.com/visual-studio-setup-installation/copypaste-code-from-vs-1305 .shtml )

3
JMBT

Si vous utilisez Android Studio , vous pouvez simplement copier et coller, l’aspect du code sera conservé ainsi que les couleurs. Assez simple!

3
Geraldo Neto

Si vous utilisez Intellij IDEA, copiez simplement le code du IDE et collez-le dans le document Word.

3
Joe Cheng

De Powershell ISE copier et coller dans Word.
Idem avec Visual Studio. 

2

J'utilise Easy Code Formatter . C'est aussi un complément Office. Il vous permet de sélectionner le style de codage/et comporte un bouton de formatage rapide. Génial.

 enter image description here

1
Mavi Domates

Collez simplement votre code dans MS Words, sélectionnez-le -> puis faites un clic droit -> Numérotation. Dans ce cas, MS Word interprétera votre code comme un marqueur/une liste numérotée.

Voici les écrans: 

Screen1 .

Screen2 .

1
user3528865

Si vous utilisez TextMate (Sous OS X), utilisez la commande "Copier en tant que RTF". Il placera un texte joliment imprimé sur le presse-papiers.  rtf command

De là, vous pouvez coller dans Word ou n'importe quoi d'autre.

1
tim

Si vous avez déjà créé le document avec beaucoup d'extraits de code et que vous courez contre le temps (comme je l'avais malheureusement). Enregistrez le fichier en tant que .doc au lieu de .docx et le tour est joué! Travaillé pour moi Phew!

NOTE: Évidemment, votre document ne peut pas avoir de fonctionnalités sophistiquées à partir de> Word 2007.

NOTE 2: La taille du fichier augmente si cela vous préoccupe.

1
EaziLuizi

Une approche rapide que j'utilise consiste à utiliser l'outil Capture (déjà intégré dans l'outil Microsoft) avec un aperçu du dépassement de pile.

Une fois que je saisis mon code dans une zone de question à poser, je capture l’aperçu et l’insère dans le document MS Word en tant qu’image.

 enter image description here

Ce qui précède est le résultat, une image (pas le code SO) que vous pouvez insérer dans Word.

Ne vous inquiétez pas du formatage, des vérifications grammaticales, du téléchargement de nouveaux logiciels ou des compléments .__!

1
Chabo

Vous pouvez simplement utiliser PlanetB: http://planetb.ca/syntax-highlight-Word

Copy and Past, choisissez la langue et profitez du résultat.

0
Guilherme Fidelis

Hilite ne semble pas encore être mentionné dans les réponses, donc: Hilite supporte beaucoup de langues (20+), peut être utilisé en ligne également via API, et se trouve sur Github (vous pouvez donc le cloner, modifiez-le et lancez-le vous-même si vous ne faites pas confiance au service en ligne). La version en ligne peut également être adaptée à ses besoins via les règles CSS.

Je viens de le trouver il y a quelques minutes, car j'avais besoin d'un outil pour copier xQuery dans Word, mais je ne pouvais pas trouver un outil approprié pour le faire. Le programme source est baseX et pour une raison quelconque, sa mise en forme n'a pas pu être transmise à Word (ni via Conserver le format , etc. lors du collage). De plus, bon nombre des réponses données maintenant, c’est-à-dire 06/2019, ne fonctionnent plus ou ne prennent pas en charge xQuery. Hilite, cependant, a très bien fait le travail.

Edit: un bloc de code ne fait pas partie du résultat, malheureusement, il suffit de le surligner. Néanmoins, c'est mieux que rien et ajuster le résultat en ajoutant un bloc représente toujours moins de travail que de formater chaque ligne à la main

0
meistermuh

La solution la plus simple, pour moi au moins, est de coller votre code dans le document, de le surligner, puis de naviguer vers:

accueil -> styles -> << cliquez la flèche déroulante par styles >> -> code

Cela présente l'avantage que le code est désormais interrogeable dans le document (contrairement à la solution de Gargamel), tout en permettant de formater du code comportant plusieurs pages.

0
Luke Purnell

Réponse pour les personnes qui tentent de résoudre ce problème en 2019:

La plupart des réponses à cette question sont maintenant obsolètes. J'aimerais qu'il y ait un moyen de réinspecter de vieilles questions et réponses de temps en temps!

La méthode que j'ai trouvée pour cette question et qui fonctionne avec Office 365 et ses programmes associés peut être trouvée ici .

0
RFNO

J'ai lu et essayé tous les articles et j'aimerais donner un aperçu de toutes les solutions. Le meilleur moyen dépend de vos besoins. S'il n'y a que des extraits courts ne dépassant pas une page, utilisez l'option Insérer un objet. Si le code est supérieur à une page, utilisez le formatage RTF.

Insérer une zone de texte

  • Pas de saut de page possible
  • Vérification orthographique disponible
  • Le formatage peut être détruit très rapidement
  • Dans un document de plusieurs milliers de pages, Word 2016 a commencé à poser des problèmes. À un moment donné, Word plantait toujours en essayant d'insérer une nouvelle zone de texte.

Insérer un objet> Document

  • Pas de saut de page possible
  • Pas de vérification orthographique
  • Le formatage et le contenu restent en sécurité

RTF Formatage

Ou tout autre outil/bibliothèque wysiwyg-editor/online pour styliser le code.

Quelques plug-ins/add-ons

Tout est en panne ou ne fonctionne plus.

0
Steven Spyrka