Как добавить отформатированный код в документ Microsoft Word?


29

Мне нужно написать документ в MS-Word 2007, который содержит множество примеров кода VB.NET и C #.

Каков наилучший способ заставить код выглядеть разумно в документе?

Какие стили и т.д. используют люди?

(У меня нет времени на ручное редактирование / форматирование кода, и я был бы очень рад, если бы он выглядел так же, как в студии разработчиков)

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


Я бы хотел использовать таблицы стилей слов для управления тем, как выглядит код, но не хочу «выбирать» каждое ключевое слово и т. Д., Чтобы установить его стиль.


см. также https://stackoverflow.com/questions/387453/how-do-you-display-code-snippets-in-ms-word-preserving-format-and-syntax-highlig/2653406#2653406


Вы могли бы найти stackoverflow.com/questions/760121/… полезным.
Вояджер

От @ user1068538: Эта ссылка может быть полезна stackoverflow.com/a/2653406/1068538 . Я думаю, что ответ @ gargamel (в приведенной выше ссылке на SO) - это самый простой способ использовать программный код в документе Word, особенно если вы пишете книгу, поскольку он не показывает орфографические ошибки.
fixer1234

Ответы:


14

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

Второй способ - создать стиль для блока кода, сохранить его, а затем применить ко всем блокам кода.


1
Как я могу использовать «службы выделения источников»?
Ян Рингроз

4
Например, перейдите на source.virtser.net , вставьте код C #, выделите, скопируйте вывод и вставьте в Word.

Ссылка на source.virtser.net выдает ошибку «Страница не найдена»: «Страница, к которой вы пытались получить доступ, не существует на этом сервере ...»
JohnC

11

Word изначально не поддерживает подсветку синтаксиса или другое форматирование кода. Поэтому лучше всего создавать подсветку и т. Д. В другой программе (visual studio, eclipse, notepad ++ или на этом веб-сайте, который может работать на 14 языках и не требует установки).

Однако при вставке текста выполнение этого непосредственно в самом текстовом документе может привести к таким головным болям, как орфография и грамматические подчеркивания.

Чтобы это исправить, вместо прямого копирования и вставки используйте Вставка -> Объект -> Текст OpenDocument . Это откроет новый документ. Вставьте текст сюда и закройте окно. Ваш код теперь будет отображаться как объект с полным форматированием, показанным в предыдущем окне, но без проверки орфографии или проверки грамматики.

Хотя можно отформатировать код с помощью стилей, для этого нет встроенных стилей, и это не совсем то, для чего предназначены стили. Если вы хотите использовать стили для форматирования кода, просто используйте этот стиль во всех создаваемых вами объектах.

Обновление: если вы хотите сделать это со стилями кода, вот несколько идей.

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

Если вы хотите добавить немного больше сложности, вы можете наложить стили символов поверх стиля абзаца, чтобы создать нечто похожее на предварительный просмотр кода в stackoverflow с другим форматированием и / или цветом для имен классов, имен экземпляров и т. Д.

Настройка стиля, подобного этому, требует работы, но вы можете получить более настраиваемый результат по сравнению с тем, что вы можете получить, используя подсветку синтаксиса в notepad ++ или Visual Studio.

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


@ianRingrose, есть ли другая функция, которую вы ищете?
Soandos

Мне бы хотелось, чтобы подсветка синтаксиса делалась со стилями слов, чтобы я мог легко изменять размеры шрифтов и т. Д.
Ян Рингроз

@IanRingrose, обновлено. Дайте мне знать, если чего-то не хватает.
Soandos

Я думаю, что это один из лучших способов форматировать код в слове. У меня всегда были проблемы с форматированием, и как объект у меня больше нет проблем. Большое спасибо ; )
xtarsy

В MS Word 2007 и выше альтернативой «Вставка -> Объект -> Текст OpenDocument» является выбор кода после его вставки и использование функции «Обзор | Расстойка | Установите язык и убедитесь, что выбран «Не проверять орфографию или грамматику». Возможно, вам придется применять этот параметр более одного раза, чтобы заставить его придерживаться.
JohnC

4

Мне нравится использовать Notepad ++. В NP ++ выберите правильный синтаксис, щелкните правой кнопкой мыши по выбранному коду, выберите «Команды плагина», нажмите «Копировать текст с подсветкой синтаксиса». Вставьте его в Word, и у вас получится очень красивый код.

Источник: Лучший способ показать фрагменты кода в слове? [закрыто]


3

Если вы настроите свой VS так, как вы хотите, чтобы он выглядел в документе, будет работать простая копирование-вставка кода. Это сохранит цвета и другое форматирование.

Однако, если вы когда-нибудь захотите изменить стиль в документе, это будет очень сложно сделать. В этом случае, создание codeстиля в слове и проверка того, что весь вставленный код установлен в него, является подходящим способом (тогда, если вы измените стиль, все, помеченное как этот стиль, изменится). Это не позволит вам иметь подсветку синтаксиса, как в VS.


Есть некоторые проблемы, например, как будет выглядеть строка длиннее ширины документа?
Вояджер

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.