¿Cómo agrego código formateado a un documento de Microsoft Word?

29

Necesito escribir un documento en MS-Word 2007 que contenga muchos ejemplos de código VB.NET y C #.

¿Cuál es la mejor manera de hacer que el código se vea razonable en el documento?

¿Qué estilos, etc., usan las personas?

(No tengo tiempo para editar / formatear manualmente el código, y estaría muy feliz si se viera igual que en el estudio de desarrolladores)

En otros trabajos, ¿qué hacen las personas que escriben libros de programación? Debe haber una buena solución automatizada para esto ...


Me gustaría una forma de usar las hojas de estilos de palabras para controlar el aspecto del código, pero no deseo tener que "seleccionar" cada palabra clave, etc. para establecer su estilo.


ver también /programming/387453/how-do-you-display-code-snippets-in-ms-word-preserving-format-and-syntax-highlig/2653406#2653406

Ian Ringrose
fuente
Puede encontrar stackoverflow.com/questions/760121/… útil.
Voyager
De @ user1068538: este enlace puede ser útil stackoverflow.com/a/2653406/1068538 . Creo que la respuesta de @ gargamel (en el enlace anterior a SO) es la forma más fácil de usar el código de programación en un documento de Word, especialmente si está escribiendo un libro, ya que no muestra errores ortográficos.
Fixer1234

Respuestas:

14

Puede utilizar los servicios de resaltado de origen y copiar / pegar en el documento de Word. Creo que será la forma más rápida ( upd. Simple copypaste de VS también funcionará).

La segunda forma es crear un estilo para el bloque de código, guardarlo y luego aplicarlo a todos los bloques de código.

Sashaeve
fuente
1
¿Cómo uso los "servicios de resaltado de fuente"?
Ian Ringrose
44
Por ejemplo, vaya a source.virtser.net , pegue el código C #, resalte, copie el resultado y péguelo en Word.
El enlace source.virtser.net muestra el error "Página no encontrada", "La página a la que intentó acceder no existe en este servidor ..."
JohnC
11

Word no admite de forma nativa el resaltado de sintaxis u otro formato de código. Como tal, es mejor crear el resaltado, etc. en un programa diferente (visual studio, eclipse, notepad ++ o este sitio web que puede hacer 14 idiomas y no requiere instalación).

Sin embargo, al pegar el texto, hacerlo directamente en el documento de Word puede generar dolores de cabeza como la ortografía y los subrayados gramaticales.

Para solucionar esto, en lugar de copiar y pegar directamente, use Insertar -> Objeto -> Texto de documento abierto . Esto abrirá un nuevo documento. Pegue el texto aquí y cierre la ventana. Su código ahora se mostrará como un objeto, completo con todo el formato que se mostró en la ventana anterior, pero sin que se muestre la revisión ortográfica o gramatical.

Si bien es posible formatear código con estilos, no hay estilos integrados para hacer esto, y no es realmente lo que los estilos deben hacer. Si desea usar estilos para formatear su código, simplemente use este estilo en todos los objetos que cree.

Actualización: si desea hacer esto con estilos de código, aquí hay algunas ideas.

  • Use un estilo de párrafo con una fuente monoespaciada
  • Fondo claro (el gris funciona bien)
  • Ortografía desactivada
  • Asegúrese de que el espacio entre líneas sea el que desea

Si desea agregar un poco más de complejidad, puede superponer estilos de caracteres en la parte superior del estilo de párrafo para crear algo similar a la vista previa del código en stackoverflow con diferente formato y / o color para los nombres de clase, nombres de instancia, etc.

Configurar un estilo como este requiere trabajo, pero puede obtener un resultado más personalizable en comparación con lo que puede obtener con el resaltado de sintaxis de notepad ++ o Visual Studio.

Como aceleración al formatear código con un estilo, puede ser útil primero resaltar la sintaxis en uno de esos programas y luego usar la utilidad Buscar de Word para buscar texto que coincida con un color u otro estilo de fuente para que no tenga que hacerlo. Identifique manualmente qué es un nombre de clase, por ejemplo, en el código manualmente (está en formato más-> en la solicitud de búsqueda).

soandos
fuente
@ianRingrose ¿hay alguna otra característica que estás buscando?
soandos
Deseo que el resaltado de sintaxis se realice con estilos de palabras para poder cambiar los tamaños de letra, etc. con facilidad.
Ian Ringrose el
@IanRingrose, actualizado. Avísame si falta algo.
soandos
Creo que esta es una de las mejores formas de formatear código en Word. Siempre tuve problemas con el formateo, y como objeto ya no tengo ningún problema. Muchas gracias ; )
xtarsy
En MS Word 2007 y versiones posteriores, una alternativa a "Insertar -> Objeto -> Texto de documento abierto" es seleccionar el código después de pegarlo y usar Revisar | Pruebas | Configure el idioma y asegúrese de que esté seleccionado "No revisar la ortografía o la gramática". Es posible que deba aplicar esa configuración más de una vez para que se adhiera.
JohnC
3

Si configura su VS para que se vea como quiere que se vea en el documento, una simple copia-pegar del código funcionará. Conservará los colores y otros formatos.

Sin embargo, si alguna vez desea cambiar el estilo del documento, será muy difícil de administrar. En este caso, codela forma de hacerlo es crear un estilo en Word y asegurarse de que todo el código pegado esté configurado (entonces, si cambia el estilo, todo lo marcado como ese estilo cambiará). Esto no le permitirá tener resaltado de sintaxis como en VS.

Oded
fuente
Hay algunas preocupaciones, como ¿cómo se verá una línea más larga que el ancho del documento?
Voyager