¿Cómo mostrar fragmentos de código en formato de preservación de MS Word y resaltado de sintaxis?


2006

¿Alguien sabe una manera de mostrar el código en los documentos de Microsoft Word que conserva el color y el formato? Preferiblemente, el método también sería discreto y fácil de actualizar.

He tratado de incluir código como texto normal que se ve horrible y se interpone en el camino al editar texto normal. También he intentado insertar objetos, un documento de WordPad y un cuadro de texto, en el documento y luego poner el código dentro de esos objetos. El código se ve mucho mejor y es más fácil de evitar al editar el resto del texto. Sin embargo, estos objetos solo pueden abarcar una página, lo que hace que la edición sea una pesadilla cuando es necesario agregar varias páginas de código.

Por último, sé que hay editores / formatos mucho mejores que no tienen problemas para manejar esto, pero estoy atascado trabajando con MS Word.


Me he ido con una solución mixta. Copie con formato RTF, pegue en OpenOffice Writer, elimine el fondo (si lo hay) y luego pegue el código en MS Word. Por alguna razón, no puedo eliminar el fondo en Word :-( De todos modos, el complemento "Copiar en esteroides" para hacer esto en PhpStorm, WebStorm, PyCharm es
increíble

3
A partir de Office 365, no sé tal vez incluso para Word 2013 o 2016. Tiene un complemento en línea llamado "Formato de código". Instale ese complemento de Office y en su documento de Word puede seleccionar todo el código (incluso varias páginas) y hacer clic en el botón convertirlo del complemento Formato de código y lo convierte en un código de color formateado con números de línea. Sin embargo, no pude encontrar la opción de formatear sin números de línea. Pero sin embargo, ¡no está mal!
Rahul Saini

Fuera de cualquier complemento específico que se dedique al formato del código, la mejor solución es usar estilos o, alternativamente, imágenes. Los estilos son para formatear. Solía ​​usar muchas bifurcaciones desde Star Office a Libre Office hoy, pero acabo de ingresar a Word y descubrí cómo hacerlo simplemente explorando la configuración de estilo. Simplemente use Notepad ++ para exportar RTF y luego use estilos. Algunas de las cosas que hice fue agregar un borde, un color de fondo que me gusta, marcar "No agregar espacios entre el mismo estilo" o similar (tengo la GUI en francés, así que no sé el subtítulo exacto en inglés) y cualquier cosa que usted me gusta.
猫 IT

El formato de código no está disponible, pero Easy Code Formatter aquí funciona bastante bien: appsource.microsoft.com/en-us/product/office/…
Mavi Domates

Respuestas:


1948

Aquí está la mejor manera, para mí, de agregar código dentro de la palabra:

  1. vaya a la Insertpestaña, Textsección, haga clic en el objectbotón (está a la derecha)
  2. elija OpenDocument Textcuál abrirá un nuevo documento de Word incrustado
  3. copie y pegue su código de Visual Studio / Eclipse dentro de esta página de palabras incrustadas
  4. guardar y cerrar

El resultado se ve muy bien. Estas son las ventajas de este método:

  • el código mantiene su diseño y colores originales
  • el código está separado del resto del documento, como si fuera una imagen o un gráfico
  • los errores ortográficos no se resaltarán en el código (¡esto es genial!)

Y solo lleva unos segundos.


21
¡Brillante! He estado jugando con estilos, tablas y otras soluciones por años. Esto arregla todo de una vez. Tenga en cuenta que también obtiene la ventaja de agregar un título a su código. Agregué un nuevo tipo de etiqueta "Listado" para puntos brownie :-)
Nebula

77
Tenga en cuenta que esto requiere la instalación de oficina abierta / libre en su máquina.
BetaRide

14
@BetaRide No, no lo hace. Acabo de usar esto en un documento en una máquina sin OpenOffice instalado. OpenDocument se refiere a un formato de archivo con soporte de MS Office entre otros: en.wikipedia.org/wiki/OpenDocument
Jamie F

45
No puedo ver esa opción en Word 2011 en OSX :(
Matt Gibson

39
Para Word 2011 en el uso de OSX: Insertar -> Objeto ... Documento de Microsoft Word
s_t_e_v_e

1007

Descargue e instale Notepad ++ y haga lo siguiente:

  1. Pega tu código en la ventana;

  2. Seleccione el lenguaje de programación del menú de idiomas;

  3. Seleccione el texto para copiar;

  4. Haga clic derecho y seleccione Comandos de complementos -> Copiar texto con resaltado de sintaxis ;

  5. ¡Pegarlo en MS Word y listo!

Actualización 29/06/2013:

Notepad ++ tiene un complemento llamado "NppExport" (viene preinstalado) que le permite copiar a RTF, HTML y ALL. Permite docenas de idiomas, mientras que los IDEs mencionados anteriormente se limitan a un puñado cada uno (sin otros complementos).

Uso Copiar todos los formatos al portapapeles y "pegar como HTML" en MS Word.

captura de pantalla del bloc de notas ++


8
Esto funcionó muy bien. Ya tenía Notepad ++ para otros proyectos de código, pero nunca pensé en usarlo. Combinado con un estilo de Word que agrega un fondo azul tenue, un borde y un corrector ortográfico deshabilitado, se ve bastante bien y es bastante rápido para varios archivos, a diferencia de los métodos que involucran exportaciones e importaciones de archivos. Aunque desearía que hubiera una manera de agregarlo como un campo que verificará automáticamente las actualizaciones de los archivos .java originales y mantenga el último código fuente en el archivo de Word.
Neil

92
Gracias por esta pista. Plugins -> NppExport -> Copiar RTF al Portapapeles también funciona.
Andrew Huey

32
Esto funcionó muy bien. En Word 2007+, para agregar un borde y deshabilitar el corrector ortográfico: 1) seleccione su código; 2) 'Inicio-> Estilos-> Guardar selección como nuevo estilo rápido' (es un botón desplegable); 3) Nómbrelo 'Código' o similar; 4) modificar; 5) Formato-> Borde (abajo a la izquierda) para agregar borde; 6) Formato-> Idioma [X] No revise la ortografía o la gramática. Ahora, puede aplicar el mismo 'Código' de formato al texto pegado desde NppExport.
Blazes

2
Este funciona muy bien, no se pudo obtener el documento de Word dentro del documento de Word para que funcione bien. ¡Este es el camino a seguir!
Urda

66
@BennyNeugebauer: el número de línea se puede agregar configurando las opciones Formato-> Numeración, Definir nuevo formato de número, eliminar el punto en el primer estilo. Puede acceder a la opción Formato siguiendo los pasos de @ Blazes O con estilo seleccione el nuevo estilo-> administrar estilos-> Modificar
Miranda

141

ingrese la descripción de la imagen aquí

Formato de código complemento de ahora está disponible en complementos de Office con Office 365! ¡Simplemente seleccione el código y haga clic en convertirlo y convierte el texto del código en código de color formateado con números de línea!

¡Un poco de alegría!

El formato de código está disponible aquí: https://appsource.microsoft.com/en-us/product/office/WA104379501?tab=Overview


12
Solo publiqué donde la respuesta es un complemento en Word. La solución más fácil, ¡esta debería ser la respuesta aceptada en 2017!
cre8

2
@schauhan Nunca tuvo la intención de eliminar errores ortográficos / advertencias. El propósito de este complemento es formatear el código con resaltados y sangrías de palabras clave.
Rahul Saini

23
Ya no está disponible
usuario1085907

44
Encontré el Easy Code Formatter en la lista de complementos, funcionó bastante bien.
Felipe Silveira

1
Alternativamente, un complemento de palabras llamado Easy Syntax Highlighter proporciona resaltado específico del idioma con múltiples temas por idioma y detección automática de idioma.
JDG

116

Después de leer muchas respuestas relacionadas, encontré mi propia solución, que para mí es la más adecuada.

El resultado se ve así: el resultado final

Como puede ver, es el mismo resaltado de sintaxis como en Stack Overflow, que es bastante impresionante.

Pasos para reproducir:

en desbordamiento de pila

  1. Ir a hacer una pregunta (preferiblemente con Chrome )
  2. Pegue el código y agregue una etiqueta de idioma (por ejemplo, Java) para obtener resaltado de sintaxis
  3. Copiar código de la vista previa

en palabra

  1. Insertar> Tabla> 1x1
  2. Pegar código
  3. Diseño de tabla> Bordes> Sin borde
  4. Seleccione el código> Editar> Buscar> Reemplazar
    Buscar documento ^ p (Marca de párrafo) Reemplazar con ^ l (Salto de línea manual)
    (Esto es necesario para eliminar los espacios entre algunas líneas)
  5. Seleccione el código nuevamente> Revisar> Idioma> marque "No revisar la ortografía o la gramática"
  6. Finalmente, agregue un título usando Referencias> Insertar título> Nueva etiqueta> asígnele el nombre "Listado" o algo

Código de muestra gracias a este chico


2
Para agregar números de línea, puede insertar una columna a la izquierda e incluir todos los números de línea en una celda.
Matthias A. Eckhart el

2
Esta es mi respuesta favorita, porque permite a las personas que leen el documento copiar / pegar el código.
Adam Johns

97

Hay una buena herramienta en línea para eso: http://www.planetb.ca/syntax-highlight-word

Simplemente copie el código generado y péguelo en su software de edición de palabras. Hasta ahora lo he probado en MS Word y WPS Writer , funciona muy bien. No funciona bien con Firefox, pero funciona bien en Chrome (e IE también, pero quién quiere usar eso).

Uno de los principales beneficios es que, a diferencia del complemento de formato de código para Word, NO se mete con su código y respeta la sintaxis de varios idiomas. Probé muchas otras opciones ofrecidas en otra respuesta, pero encontré que esta es la más eficiente (rápida y realmente efectiva).

También hay otra herramienta onlinz citada en otra respuesta (markup.su) pero encuentro que la salida de planetB es más elegante (aunque menos versátil).

Entrada:

ingrese la descripción de la imagen aquí

Salida:

ingrese la descripción de la imagen aquí


1
Solo para que otros lo sepan, el resultado anterior también es cómo aparecerá en el documento de Word con los números de línea y el borde verde y el resaltado de sintaxis
mc805

1
El único inconveniente es que si desea copiar y pegar el código, debe eliminar manualmente los números de línea.
Steven Spyrka

54

Escribo mi código en Visual Studio y luego copio y pego en Word. Conserva los colores.


66
Pero lejos de ser 100% fiel. El proceso de copia parece eliminar mucho formato por alguna razón.
Frank Krueger

3
Por cierto, esto funciona muy bien con Eclipse y OpenOffice Writer (aunque no conozco Eclipse / Word o VisualStudio / Writer).
Joachim Sauer

1
Me pregunto si depende de si usa pestañas o si Visual Studio convierte las pestañas en espacios. No noto ningún problema con los espacios.
devuxer

1
El uso de espacios parece corregir cualquier error de formato. Un poco doloroso, pero funciona.
shmeeps

2
Funciona, pero como tengo un tema negro ... resulta ilegible. blog.wekeroad.com/wp-content/uploads/2007/10/codefile.gif
EdgarT

29

Cuando hice esto, hice un amplio uso de los estilos. Esto ayuda mucho.

Lo que hago es crear un estilo de párrafo (quizás llamado " Code Example" o algo así) que utiliza una fuente monoespaciada, pestañas cuidadosamente elegidas, un fondo gris muy claro, un borde negro delgado arriba y abajo (que ayuda mucho a la visibilidad) y con ortografía desactivada. También me aseguro de que el espaciado entre líneas y entre párrafos esté configurado correctamente. Luego creo estilos de caracteres adicionales en la parte superior (por ejemplo, " Comment", " String", " Keyword", " Function Name Decl", " Variable Name Decl") que coloco en la parte superior; esos establecen el color y si el texto está en negrita / cursiva. Entonces es bastante simple revisar y marcar un ejemplo pegado como código y hacer que se vea realmente bien, y esto funciona bien para fragmentos cortos. Los fragmentos largos de código probablemente no deberían estar normalmente en algo que vaya a caer en un árbol muerto. :-)

Una ventaja de hacerlo de esta manera es que es fácil adaptarse a cualquier código que esté haciendo; no tiene que confiar en algún IDE para descubrir lo que está sucediendo por usted. (¿El problema principal? Las páginas impresas generalmente no son tan anchas como las ventanas del editor, por lo que el ajuste apestará ...)


Gracias Donal por esta información. Sin embargo, puede preguntar, ¿cómo puedo usar intentos para representar líneas de código anidadas? Si uso un color de fondo y un borde para mi párrafo, cuando uso sangría, todo el bloque se está moviendo.
m.spyratos

77
¿Hubiera sido bueno compartir tu estilo / plantilla?
Eric Ouellet

He estado haciendo lo mismo durante siglos: un gran problema: cada vez que aplico el estilo, Word todavía subraya en rojo los problemas de ortografía. Si modifico el estilo y selecciono Formato-> Idioma, se verifica "No revisar la ortografía y la gramática", y si ahora cierro el diálogo de formato con Ok, las líneas irán, pero siempre aparecerán hasta que lo haga.
Ruibarbo

23

Intente definir un estilo llamado 'código' y haga que use una fuente pequeña de ancho fijo, entonces debería verse mejor.

Use CTRL+ SPACEBARpara restablecer el estilo.


17
No mantendrá el resaltado de sintaxis.
Uri

1
El resaltado de sintaxis está sobrevalorado si estamos hablando de un documento de Word aquí. Pero también se implementa fácilmente en un script VB que colorea todo el texto con el estilo "Código".
Frank Krueger

Así es como lo hago también con muy buenos resultados, aunque también desactivo la ortografía / gramática para mi estilo de "código".
Clayton

2
Por supuesto, puede mantener el resaltado de sintaxis: Crear un estilo sin color de fuente

21

Tal vez esto sea demasiado simple, pero ¿ha intentado pegar su código y configurar la fuente en Courier New?


44
Todavía no mantendrá el resaltado de sintaxis.
Sk8erPeter

@ Sk8erPeter: Ese no es necesariamente el caso. Copiar y pegar es más que capaz de transferir información de color: lo hace todo el tiempo cuando prefiero no hacerlo. Depende de si las aplicaciones de origen y de destino son compatibles con el mismo esquema para especificarlo.
caos

21

En caso de que sea como yo y sea demasiado flojo o tenga prisa y no quiera descargar software adicional, puede usar http://markup.su/highlighter/ . Es muy sencillo y admite varios temas destacados y muchos lenguajes de programación. http://markup.su/highlighter/En mi caso, estaba usando Visual Studio Code , que no permite copiar con formato debido a CSS involucrado en el estilo (como se informa aquí ).

Copie el texto del cuadro Vista previa y luego en Word vaya a Insertar -> Cuadro de texto, pegue la Vista previa del sitio web, resalte todo el texto y luego desactive la corrección ortográfica para ese cuadro de texto .

Así es como se ve el código finalmente.código como se ve en Word


¿Hay alguna forma de cambiar el tamaño de fuente? Mi código es muy grande y quiero ajustarlo en pocas páginas por palabra. Cambiar el tamaño de fuente en word no ayuda
dark32

¿Podría ser que no está resaltando el texto dentro del cuadro de texto antes de cambiar el tamaño de fuente?
maaw

1
@ dark32 si entiendo su problema correctamente, debe cambiar el espacio entre líneas: support.office.com/en-us/article/…
maaw

2
Esto funcionó muy bien hace una semana, sin embargo, a partir del 12/78/2017, el sitio markup.su/highlighter ya no funciona. Esperemos que vuelva a estar disponible pronto.
Gorgon_Union

2
Link está muerto de nuevo ... Solo un aviso.
Zombie Chibi XD

20

Si está utilizando Sublime Text , puede copiar el código de Sublime a MS Word conservando el resaltado de sintaxis.

Instale el paquete llamado SublimeHighlight .

En Sublime, usando el cursor, seleccione el código que desea copiar, haga clic derecho, seleccione 'copiar como rtf' y péguelo en MS Word.


2
Esto funcionó perfectamente para mí. La extensión de Word desordenó por completo mi código y mis comentarios, por lo que es ilegible. Esto realmente funcionó perfectamente. Agregaré que simplemente puede ir a sublime, presionar cmd + shift + P, ir Install packagey escribir highlightallí. Lo instalará de inmediato
Claud H

12

Esto es un poco indirecto, pero funciona muy bien. Obtenga LiveWriter e instale este complemento:

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

Inserte su código usando el complemento en una publicación de blog. Seleccione todo y cópielo a Word.

Se ve muy bien y puede incluir números de línea. También abarca páginas decentemente.

HTH

Colby Africa


Requiere una cuenta en Windows Live o Wordpress o alguna otra de las 10 plataformas de blogs.
mirelon


10

En mi experiencia, copiar y pegar desde eclipse y Notepad ++ funciona directamente con Word.

Por alguna razón tuve un problema con un archivo que no conservaba el color. Hice un nuevo archivo .java, copie y pegue el código a ese, luego copie y pegue a Word y funcionó ...

Como dijeron los otros chicos, crea un nuevo estilo de párrafo. Lo que hago es usar una fuente monoespaciada como Courier new, tamaño pequeño cerca de 8px para las fuentes, espacio simple sin espacio entre párrafos, hacer tabulaciones pequeñas (0.5cm, 1cm, .., 5cm), poner un borde de línea simple alrededor del texto y deshabilitar las verificaciones gramaticales. De esa forma logré el frenado de línea del eclipse para no tener que hacer nada más.

Espero haber ayudado;)


10

Vim tiene una característica ingeniosa que convierte el código al formato HTML conservando el resaltado de sintaxis, el estilo de fuente, el color de fondo e incluso los números de línea. Ejecutar :TOhtmly vim crea un nuevo búfer que contiene marcado html.

A continuación, abra este archivo html en un navegador web y copie / pegue lo que sea que se haya procesado en Word. Vim tips wiki tiene más información .



9

Estoy usando Easy Code Formatter . También es un complemento de Office. Le permite seleccionar el estilo de codificación / y tiene un botón de formateo rápido. Con buena pinta.

ingrese la descripción de la imagen aquí


Esto parece genial, pero no hay forma de instalarlo en mi palabra 2016 ... Error de palabra todo el tiempo
Jebik

@Jebik: si está utilizando una cuenta de empresa, ¿quizás su administrador podría haber bloqueado las instalaciones? Lo estoy usando en 2016 ... ¿Cuál es su número de compilación?
Mavi Domates

Tenía la versión 16.0.4849.1000. Pero como dije, instalé otros 2 complementos. Entonces mi compañía no parece bloquear la instalación. Es solo esta extensión que no puedo instalar. Ni siquiera lo encuentro en la tienda para ser honesto. Desde que abro la tienda y busco una aplicación, esta no está en la lista
Jebik

Eso significa que su Word está en una versión de compilación que no admite este complemento.
Mavi Domates

Intenta actualizar Word si puedes, tu versión parece un poco vieja.
Mavi Domates

8

Puede usar el código VS para mantener el formato y el resaltado del código. Copie y pegue directamente el código de VS.ingrese la descripción de la imagen aquí


Esta encontré la respuesta más inteligente para esta pregunta. ¡Gracias!
Anup Bangale

7

Use una fuente monoespaciada como Lucida Console, que viene con Windows. Si corta / pega desde Visual Studio o algo que admite el resaltado de sintaxis, a menudo puede conservar el esquema de color del resaltador de sintaxis.


7

Estoy usando Word 2010 y me gusta copiar y pegar desde un github gist. ¡Solo recuerda mantener el formato fuente!

Luego cambio la fuente a DejaVu Sans Mono.

Puede optar por copiar con o sin la numeración.


7

Respuesta para las personas que intentan resolver este problema en 2019:

La mayoría de las respuestas a esta pregunta ya no están actualizadas. ¡Ojalá hubiera una forma de reinspectar viejas preguntas y respuestas de vez en cuando!

El método que encontré para esta pregunta que funciona con Office 365 y sus programas asociados se puede encontrar aquí .


6

También puede usar SciTE para pegar código si no desea instalar IDEs pesados ​​y luego descargar complementos para todo el código que está creando. Simplemente elija su idioma en el menú de idiomas, escriba su código, código resaltado, seleccione Editar-> Copiar como RTF, pegue en Word con formato (pegado predeterminado).

SciTE es compatible con los siguientes idiomas, pero probablemente sea compatible con otros: Abaqus *, Ada, archivos de definición MIB ANS.1 *, APDL, ensamblador (NASM, MASM), asíntota *, AutoIt *, Avenue *, archivos por lotes (MS-DOS) , Baan *, Bash *, BlitzBasic *, Bullant *, C / C ++ / C # , Clarion , cmake *, conf (Apache) , CSound , CSS *, D, archivos diff *, E-Script *, Eiffel *, Erlang * , Nave insignia (Clipper / XBase) , Flash (ActionScript), Fortran *, Forth *, GAP *, Gettext, Haskell, HTML *, HTML con JavaScript incrustado, VBScript, PHP y ASP *, Gui4Cli *, IDL, tanto MSIDL como XPIDL *, INI, propiedades * y similares, InnoSetup *, Java *, JavaScript *, LISP *, LOT *, Lout *, Lua *, Make, Matlab *, Metapost *, MMIXAL, MSSQL, nnCron, NSIS *, Objective Caml *, Opal, Octave *, Pascal / Delphi *, Perl , la mayoría excepto algunos casos ambiguos *, PL / M *, Progress *, PostScript *, POV-Ray *, PowerBasic *, PowerShell *, PureBasic *, Python *, R *, Rebol *, Ruby *, Scheme * , scriptol *, Specman E *, Spice, Smalltalk, SQL y PLSQL, TADS3 *, TeX y LaTeX, Tcl / Tk *, VB y VBScript *, Verilog *, VHDL *, XML *, YAML *.


No funciona al pegar código PHP. Solo se resaltan los corchetes de inicio y fin :( Sin embargo, funcionó bien para Java.
Ren

6

Copiar en Eclipse y pegarlo en Word también es otra opción.


5

Realmente no hay una manera limpia de hacerlo, y aún podría parecer sospechoso según la configuración de estilo exacta.

Lo que podría intentar hacer es ejecutar primero una conversión de código a HTML (hay muchos programas que lo hacen), y luego intentar abrir el archivo HTML con Word, que con suerte le proporcionará el código formateado y bonito , y luego cópielo y péguelo en su documento.


5

También lo estaba buscando y terminé creando algo para la visualización de mi código. Aquí hay una buena manera:

  • Crea una forma rectangular y coloca tu texto dentro.
  • Cambie la fuente a Consolas y tamaño ~ 10.
  • Cambie la fuente del texto a gris casi negro (gris 25%, más oscuro 75%)
  • Use colores más oscuros para resaltar su texto si es necesario y elija uno para que sea el contorno.

ingrese la descripción de la imagen aquí


4

La mejor presentación para el código en documentos es una fuente de ancho fijo (como debería aparecer en un IDE), con un fondo sombreado o un borde claro para distinguir el bloque de otro texto.


4

Si su código fuente Java lo copia a Visual Studio y luego lo copia nuevamente a Word.


4

Ok, esto es extraño, pero para abordar el problema del color de fondo pego el texto de manera normal, selecciono todo el bloque, hago clic en la herramienta de resaltado para resaltar (incluso si el resaltado está configurado en "Sin color"), y luego puede diseñar el bloque de texto sin que el color de fondo del texto permanezca en blanco. Estoy usando VS 11 y Word 2010, pero el problema ha existido durante mucho tiempo (consulte http://www.visualstudiodev.com/visual-studio-setup-installation/copypaste-code-from-vs-1305.shtml )


4

Si está utilizando Android Studio , simplemente puede copiar y pegar, y el aspecto del código se conservará y los colores también. ¡Suficientemente simple!


1
O eclipse también
Saurabh Sharma

4

Si está utilizando Intellij IDEA, simplemente copie el código del IDE y péguelo en el documento de Word.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.