Как отобразить фрагменты кода в MS Word с сохранением формата и подсветкой синтаксиса?

Кто-нибудь знает способ отображения кода в документах Microsoft Word с сохранением цвета и форматирования? Желательно, чтобы способ был ненавязчивым и легко обновляемым.

Я пытался включить код как обычный текст, что выглядит ужасно и мешает при редактировании обычного текста. Я также пробовал вставлять в документ объекты, документ WordPad и текстовое поле, а затем помещать код внутрь этих объектов. Код выглядит намного лучше, и его легче избежать при редактировании остального текста. Однако эти объекты могут занимать только одну страницу, что превращает редактирование в кошмар, когда нужно добавить несколько страниц кода.

Наконец, я знаю, что есть гораздо лучшие редакторы/форматы, которые без проблем справляются с этим, но я застрял, работая с MS word.

Комментарии к вопросу (4)
Решение

Вот лучший способ, как мне кажется, добавить код в word:

  1. перейдите на вкладку Insert, раздел Text, нажмите кнопку object (она находится справа)
  2. выберите ОткрытьДокументТекст, который откроет новый встроенный документ word
  3. скопируйте и вставьте ваш код из Visual Studio / Eclipse внутрь этой встроенной страницы word
  4. сохраните и закройте

Результат выглядит очень красиво. Вот преимущества этого метода:

  • код сохраняет свое первоначальное расположение и цвета
  • код отделяется от остальной части документа, как если бы это была картинка или диаграмма
  • орфографические ошибки не будут выделены в коде (это круто!).

И это занимает всего несколько секунд.

Комментарии (35)

Скачайте и установите Notepad++ и выполните следующие действия:

  1. Вставьте ваш код в окно;

  2. Выберите язык программирования в меню языка;

  3. Выберите текст для копирования;

  4. Щелкните правой кнопкой мыши и выберите Команды плагина -> Копировать текст с выделением синтаксиса;

  5. Вставьте его в MS Word, и все готово!

Обновление 29/06/2013:.

Notepad++ имеет плагин под названием "NppExport" (поставляется предустановленным), который позволяет копировать в RTF, HTML и ALL. Он позволяет использовать десятки языков, в то время как вышеупомянутые IDE ограничены горсткой языков (без других плагинов).

Я использую Copy all formats to clipboard и "paste as HTML" в MS word.

Комментарии (24)

Дополнение Code Format теперь доступно в Office Addins с Office 365! Просто выберите код и нажмите преобразовать его, и он преобразует текст кода в форматированный цветной код с номерами строк !!!

**Бит ликует!

Code Format доступен здесь: https://appsource.microsoft.com/en-us/product/office/WA104379501?tab=Overview

Комментарии (9)

После прочтения множества соответствующих ответов, я наткнулся на собственное решение, которое для меня является наиболее подходящим.

Результат выглядит следующим образом: .

Как вы можете видеть, это такая же подсветка синтаксиса, как на Stack Overflow, что очень здорово.

Шаги для воспроизведения:

на Stack Overflow

  1. Перейдите по ссылке Задать вопрос (предпочтительно с Chrome)
  2. Вставьте код и добавьте языковой тег (например, Java), чтобы получить подсветку синтаксиса.
  3. Скопируйте код из предварительного просмотра

в Word

  1. Вставка > Таблица > 1x1
  2. Вставьте код
  3. Дизайн таблицы > Границы > Без границ
  4. Выберите код > Правка > Найти > Заменить
    Поиск документа ^p (знак абзаца) Заменить на ^l (ручной перенос строки)
    (Это необходимо для удаления пробелов между некоторыми строками)
  5. Снова выберите код > Обзор > Язык > установите флажок "Не проверять орфографию и грамматику".
  6. Наконец, добавьте надпись, используя References > Insert Caption > New Label > назовите ее "Listing" или что-то в этом роде.

Примеры кода благодаря этому парню

Комментарии (3)

Для этого есть хороший онлайн-инструмент: http://www.planetb.ca/syntax-highlight-word.

Просто скопируйте сгенерированный код и вставьте его в программу редактирования слов. Пока что я пробовал его в MS Word и WPS Writer, работает очень хорошо. Не очень хорошо работает в Firefox, но отлично работает в Chrome (и IE тоже, но кому это нужно).

Одним из главных преимуществ является то, что, в отличие от Code Format Add-In для Word, он НЕ работает с вашим кодом и уважает синтаксис различных языков. Я пробовал много других вариантов, предложенных в других ответах, но этот оказался самым эффективным (быстрым и действительно эффективным).

Есть также другой инструмент onlinz, процитированный в другом ответе (markup.su), но я нахожу вывод planetB более элегантным (хотя и менее универсальным).

Вход :

Вывод :

Комментарии (4)

Я набираю код в Visual Studio, а затем копирую-вставляю в word. он сохраняет цвета.

Комментарии (8)

Когда я это делал, я широко использовал стили. Это очень помогает.

Я создаю стиль абзаца (возможно, под названием "Пример кода" или что-то в этом роде), который использует моноширинный шрифт, тщательно подобранные табуляции, очень светло-серый фон, тонкую черную рамку сверху и снизу (это очень помогает видимости) и выключенную орфографию. Я также слежу за тем, чтобы межстрочные и межпараграфные интервалы были установлены правильно. Затем я создаю дополнительные стили символов (например, "Comment", "String", "Keyword", "Function Name Decl", "Variable Name Decl"), которые накладываю поверх; они задают цвет и то, является ли текст жирным/жирным. Затем довольно просто просмотреть и пометить вставленный пример как код, и он будет выглядеть очень хорошо, и это хорошо работает для коротких фрагментов. Длинные куски кода, вероятно, не должны быть в чем-то, что будет на мертвом дереве. :-)

Преимущество такого способа в том, что его легко адаптировать к любому коду, который вы делаете; вам не нужно полагаться на какую-то IDE, чтобы понять, что происходит за вас. (Основная проблема? Печатные страницы обычно не такие широкие, как окна редактора, так что обертывание будет отстойным...)

Комментарии (3)

Попробуйте определить стиль под названием 'code' и сделать так, чтобы он использовал маленький шрифт фиксированной ширины, тогда он будет выглядеть лучше.

Используйте CTRL+SPACEBAR для сброса стиля.

Комментарии (5)

Возможно, это слишком просто, но не пробовали ли вы вставить свой код и установить для него шрифт Courier New?

Комментарии (3)

Если вы, как и я, слишком ленивы или торопитесь и не хотите загружать дополнительное программное обеспечение, вы можете воспользоваться http://markup.su/highlighter/. Он очень прост и поддерживает несколько выделенных тем и множество языков программирования. В моем случае я использовал Visual Studio Code, который не позволяет копировать с форматом из-за CSS, участвующего в стилизации (как сообщалось здесь).

Скопируйте текст из поля предварительного просмотра, затем в Word перейдите в меню Вставка -> Текстовое поле, вставьте поле предварительного просмотра с сайта, выделите весь текст, а затем отключите проверку орфографии для этого текстового поля.

Вот как выглядит код в итоге.

Комментарии (7)

Если вы используете Sublime Text, вы можете скопировать код из Sublime в MS Word с сохранением подсветки синтаксиса.

Установите пакет под названием SublimeHighlight.

В Sublime, используя курсор, выделите код, который вы хотите скопировать, щелкните его правой кнопкой мыши, выберите "скопировать как rtf" и вставьте в MS Word.

Комментарии (1)

Это немного косвенный способ, но он работает очень хорошо. Приобретите LiveWriter и установите этот плагин:

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

Вставьте ваш код с помощью плагина в сообщение блога. Выделите все и скопируйте в Word.

Он отлично выглядит и может включать номера строк. Он также хорошо растягивается по страницам.

HTH

Колби Африка

Комментарии (1)

По моему опыту copy-paste из eclipse и Notepad++ работает напрямую с word.

По какой-то причине у меня возникла проблема с файлом, который не сохранял раскраску. Я создал новый файл .java, скопировал код в него, затем скопировал в word и все заработало...

Как сказали другие ребята, создайте новый стиль абзаца. Я использую моноширинный шрифт типа courier new, маленький размер шрифта, близкий к 8px, одинарный интервал без пробелов между абзацами, остановки табуляции маленькие (0.5cm, 1cm,...,5cm), простая линейная рамка вокруг текста и отключение проверки грамматики. Таким образом, я добился торможения строк в eclipse, и мне не нужно делать ничего больше.

Надеюсь, я помог ;)

Комментарии (0)

В Vim есть замечательная функция, которая преобразует код в формат HTML с сохранением подсветки синтаксиса, стиля шрифта, цвета фона и даже номеров строк. Выполните команду :TOhtml, и vim создаст новый буфер, содержащий html-разметку.

Затем откройте этот html-файл в веб-браузере и скопируйте/вставьте все, что он отобразил, в Word. В вики Vim tips есть больше информации.

Комментарии (0)

Это самый простой подход, которого я придерживаюсь. Рассмотрим, что я хочу вставить java-код.

  1. Я вставляю код сюда, чтобы пробелы, табуляции и цветочные скобки были аккуратно оформлены http://www.tutorialspoint.com/online_java_formatter.htm.

  2. Затем я вставляю код, полученный на шаге 1, сюда, чтобы цвета и шрифты были добавлены в код http://markup.su/highlighter/.

  3. Затем вставьте код предварительного просмотра, полученный из шага 2, в MS word. В итоге это будет выглядеть следующим образом

Комментарии (0)

Использовать моноширинный шрифт, как консоль Люцида,, которая поставляется с Windows. Если вы вырезать/вставить из Visual Studio или что-то, что поддерживает подсветку синтаксиса, вы часто можете сохранить цветовую схему подсветки синтаксиса.

Комментарии (0)

Вы также можете использовать SciTE будет вставить код, если вы не'т хотите установить тяжелые IDE и затем скачать плагины для всех код, который вы'повторно делать. Просто выберите язык в меню "язык", введите код, высокая-светло-кода, выберите Edit->скопировать файл как rtf, вставить в Word с форматированием (вставить по умолчанию).

И SciTE поддерживает следующие языки, но, вероятно, имеет поддержку другим: комплекс Abaqus, Ады, АНС.1 МБ файлы определения, APDL, ассемблер (NASM с, компилятор MASM), асимптота, реестр, проспект, пакетные файлы (МС-Дос), Баан Баш, BlitzBasic, щелкнуть по этому значку, Си/Си++/Си#, фанфары, х, конф-сервера (Apache), csound'е, CSS; а, д, сравнить файлы, е-сценарий, таких, Эрланг, флагманский корабль (Клипер / пакете xbase) в Flash (язык ActionScript), Фортран, Д., разрыв, то gettext, Хаскелл, в формате HTML в HTML с внедренными JavaScript, на языке VBScript, PHP и ASP, Gui4Cli ИДЛ - как MSIDL и XPIDL, Ини свойства и подобные, помощи innosetup, на Java, наличие, а, Лот, нахал ЭКО, сделать, Матлаб, то metapost, MMIXAL, СУБД MSSQL, программы, НСИ, цель CAML, опал, Октав Паскаль/Делфи, Перл, большинство из них, за исключением некоторых сомнительных случаях, МН/м прогресс, приписка, ПОВ-Рей, powerbasic выступает, он, перебазируют питон, р, у Rebol, Рубин схемы, scriptol, Specman E и, специй, общее, SQL и PLSQL, TADS3, Tex и LaTeX, на TCL/ТЗ, с VB и VBScript, на языке Verilog, комплекс, XML и, и YAML*.

Комментарии (1)

Я'м, используя легкий форматирования кода. Это's также надстройка Office. Он позволяет выбрать стиль кодирования / и имеет кнопку быстрого форматирования. Довольно опрятно.

Комментарии (5)

Я'м с помощью Word 2010 и я, как копирование и вставка из суть гитхаб. Только не забудьте сохранить исходное форматирование!

Затем я изменить шрифт в Дежавю Санс моно.

Вы можете выбрать, чтобы скопировать с или без нумерации.

Комментарии (0)

Вы можете использовать код против, чтобы сохранить формат кода и подсветка. Непосредственно копировать и вставить код из vs.

Комментарии (0)