Как вы отображаете фрагменты кода в MS Word, сохраняя формат и подсветку синтаксиса? - PullRequest
1785 голосов
/ 23 декабря 2008

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

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

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

Ответы [ 37 ]

1674 голосов
/ 16 апреля 2010

Для меня это лучший способ добавить код в слово:

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

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

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

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

937 голосов
/ 22 декабря 2010

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

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

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

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

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

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

Обновление от 29.06.2013:

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

Я использую Скопировать все форматы в буфер обмена и «вставить как HTML» в MS Word.

screenshot from notepad++

111 голосов
/ 07 ноября 2016

enter image description here

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

Бит радуйся!

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

81 голосов
/ 05 июля 2016

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

Результат выглядит так: the final result

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

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

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

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

в Word

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

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

59 голосов
/ 25 марта 2017

Для этого есть хороший онлайн-инструмент: 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

52 голосов
/ 23 декабря 2008

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

27 голосов
/ 16 апреля 2010

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

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

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

22 голосов
/ 23 декабря 2008

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

Используйте CTRL + ПРОБЕЛ для сброса стиля.

18 голосов
/ 23 декабря 2008

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

18 голосов
/ 08 сентября 2016

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...