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

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

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

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

Ответ 1

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

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

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

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

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

Ответ 2

Загрузите и установите Notepad ++ и выполните следующие действия:

  • Вставьте свой код в окно;

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

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

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

  • Вставьте его в MS Word, и вам хорошо идти!

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

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

Я использую Копировать все форматы в буфер обмена и "вставлять как HTML" в слово MS.

screenshot from notepad++

Ответ 3

enter image description here

Надстройка формата кода теперь доступна в надстройках Office с Office 365! Просто выберите код и нажмите "Преобразовать", и он преобразует текст кода в форматированный цветной код с номерами строк !!!

Немного радоваться!

Формат кода доступен здесь: https://appsource.microsoft.com/en-us/product/office/WA104379501?tab=Overview

Ответ 4

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

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

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

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

при переполнении стека

  • Перейти к Задать вопрос (желательно с Chrome)
  • Вставить код и добавить тег языка (например, Java), чтобы получить подсветку синтаксиса
  • Копировать код из предварительного просмотра

в Word

  • Вставить > Таблицa > 1x1
  • Вставить код
  • Дизайн таблицы > Границы > Без границ
  • Выберите код > Изменить > Найти > Заменить
    Поиск документа ^ p (знак абзаца) Заменить с помощью ^ l (ручной разрыв строки)
    (Это необходимо для устранения пробелов между некоторыми строками)
  • Еще раз выберите код > Review > Language > check "Не проверять орфографию или грамматику"
  • Наконец, добавьте заголовок, используя ссылки > Вставить подпись > Новая меткa > назовите его "Листинг" или sth

Пример кода этого парня

Ответ 5

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

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

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

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

Вход:

enter image description here

Выход :

enter image description here

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

Используйте стиль CTRL + SPACEBAR to reset.

Ответ 9

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

Ответ 10

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

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

Вот как наконец-то выглядит код. code as seen in Word

Ответ 11

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

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

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

Ответ 12

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

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

Вставьте свой код, используя плагин, в сообщение в блоге. Выделите все и скопируйте его в Word.

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

НТН

Колби Африка

Ответ 13

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

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

Как говорили другие ребята, создайте новый стиль абзаца. То, что я делаю, это использовать шрифт с монослоем, похожий на курьерский новый, небольшой размер, близкий к 8 пикселям для шрифтов, с одним интервалом без места между абзацами, небольшими записями (0,5 см, 1 см,.., 5 см), простой штрих-линией вокруг текста и отключить проверки грамматики. Таким образом, я достиг линии торможения затмения, поэтому мне больше не нужно ничего делать.

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

Ответ 14

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

Ответ 15

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

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

Ответ 16

Это самый простой подход, которому я следую. Считайте, что я хочу вставить код Java.

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

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

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

enter image description here

Ответ 17

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

SciTE поддерживает следующие языки, но, возможно, поддерживает другие: Abaqus *, Ada, ANS.1 Файлы определения MIB *, APDL, Assembler (NASM, MASM), Asymptote *, AutoIt *, Avenue *, Пакетные файлы (MS -DOS), Baan *, Bash *, BlitzBasic *, Bullant *, C/С++/С#, Clarion, cmake *, conf (Apache), CSound, CSS *, D, файлы diff *, E- Script *, Eiffel *, Erlang *, Flagship (Clipper/XBase), Flash (ActionScript), Fortran *, Forth *, GAP *, Gettext, Haskell, HTML *, HTML со встроенным JavaScript, VBScript, PHP и ASP *, Gui4Cli *, IDL - как MSIDL, так и XPIDL *, INI, свойства * и аналогичные, InnoSetup *, Java *, JavaScript *, LISP *, LOT *, Lout *, Lua *, Make, Matlab *, Metapost *, MMIXAL, MSSQL, nnCron, NSIS *, Objective Caml *, Opal, Octave *, Pascal/Delphi *, Perl, большинство из них, за исключением некоторых двусмысленных случаев *, PL/M *, Progress *, PostScript *, POV-Ray *, PowerBasic *, PowerShell *, PureBasic *, Python *, R *, Rebol *, Ruby *, Scheme *, scriptol *, Specman E *, Spice, Smalltalk, SQL и PLSQL, TADS3 *, TeX и LaTeX, Tcl/Tk *, VB и VBScript *, Verilog *, VHDL *, XML *, YAML *.

Ответ 18

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

Затем я меняю шрифт на DejaVu Sans Mono.

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

Ответ 19

Вы можете использовать код VS для сохранения формата кода и выделения. Непосредственно скопируйте и вставьте код из VS. enter image description here

Ответ 20

На самом деле нет чистого способа сделать это, и он все равно может выглядеть подозрительно на основе ваших точных настроек стиля.

Что вы можете попробовать сделать, это сначала запустить преобразование кода в HTML (есть много программ, которые это делают), а затем попытаться открыть HTML файл со словом, который, надеюсь, предоставит вам форматированный и красивый код, а затем скопируйте и вставьте его в свой документ.

Ответ 21

Копирование в Eclipse и вставка его в Word также является еще одним вариантом.

Ответ 22

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

Ответ 23

Если исходный код Java скопирует его в Visual Studio, а затем скопируйте его обратно в Word.

Ответ 24

Я также искал его и в итоге создал что-то для моего отображения кода. Вот хороший способ:

  • Создайте прямоугольную форму и поместите текст внутри.
  • Измените шрифт на Consolas и размер ~ 10.
  • Изменить шрифт текста до серого около черного (серый 25%, темнее 75%)
  • Используйте более темные цвета, чтобы выделить текст, если это необходимо, и выберите его как контур.

введите описание изображения здесь

Ответ 25

Я использую Easy Code Formatter. Это также надстройка Office. Позволяет выбрать стиль кодирования/и имеет кнопку быстрого форматирования. Довольно аккуратно.

enter image description here

Ответ 26

Хорошо, это странно, но для решения проблемы с цветом фона я вставляю текст как обычно, выбираю весь блок, нажимаем на инструмент маркера для выделения (даже если для подсветки установлено значение "Нет цвета" ) а затем я могу стилизовать текстовый блок без цвета фона оставшегося белого текста. Я использую VS 11 и Word 2010, но проблема была в течение длительного времени (см. http://www.visualstudiodev.com/visual-studio-setup-installation/copypaste-code-from-vs-1305.shtml)

Ответ 27

Если вы используете Android Studio, вы можете просто скопировать и вставить, а аспект кода сохранится и цвета. Достаточно просто!

Ответ 28

Если вы используете Intellij IDEA, просто скопируйте код из IDE и вставьте его в текстовый документ.

Ответ 29

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

шаги:

  1. Создайте таблицу 3х3.

  2. Выберите таблицу, сделайте ее границы невидимыми (опция " Без границ ") и активируйте опцию " Просмотр линий сетки ". enter image description here

  3. Внесите коррективы в интервалы ячеек и ширину столбцов, чтобы получить желаемый аспект. (Вам нужно будет войти в " Свойства таблицы " для тонкой настройки). enter image description here

  4. Создайте " Стиль абзаца " с именем " Код " только для ваших фрагментов кода (как указано в fooobar.com/questions/61352/...)

  5. Создайте другой " Стиль абзаца " с именем " Code_numberline ", который будет основан на предыдущем созданном стиле, но при этом вы добавите нумерацию строк в ее определение (это позволит автоматизировать нумерацию строк). enter image description here

  6. Примените " Code_numberline " к первому столбцу и " Code " к 3- му столбцу. enter image description here

  7. Добавьте заполнение в средний столбец. enter image description here

  8. Сохраните этот стиль стола и наслаждайтесь!

Ответ 30

От Powershell ISE скопируйте и вставьте в Word.
То же самое с Visual Studio.