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

49661
Ian Ringrose

Мне нужно написать документ в 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

28
Вы можете найти http://stackoverflow.com/questions/760121/is-there-a-way-for-elegant-source-code-listings-in-openoffice-org-writer полезным. voyager 14 лет назад 0
От @ user1068538: Эта ссылка может быть полезной http://stackoverflow.com/a/2653406/1068538. Я думаю, что ответ @ gargamel (в приведенной выше ссылке на SO) - это самый простой способ использовать программный код в документе Word, особенно если вы пишете книгу, поскольку он не показывает орфографические ошибки. fixer1234 8 лет назад 0

5 ответов на вопрос

14
sashaeve

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

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

как я могу использовать "службы выделения источников"? Ian Ringrose 14 лет назад 1
Например, перейдите на http://source.virtser.net/, вставьте код C #, выделите, скопируйте вывод и вставьте в Word. 14 лет назад 4
Ссылка [source.virtser.net] (http://source.virtser.net) приводит к ошибке «Страница не найдена»: «Страница, к которой вы пытались получить доступ, не существует на этом сервере ...» JohnC 10 лет назад 0
11
soandos

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

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

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

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

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

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

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

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

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

@ianRingrose, есть ли другая функция, которую вы ищете? soandos 12 лет назад 0
Мне бы хотелось, чтобы подсветка синтаксиса делалась со стилями слов, чтобы я мог легко изменять размеры шрифтов и т. Д. Ian Ringrose 12 лет назад 0
@IanRingrose, обновлено. Дайте мне знать, если чего-то не хватает. soandos 12 лет назад 0
Я думаю, что это один из лучших способов форматировать код в слове. У меня всегда были проблемы с форматированием, и как объект у меня больше нет проблем. Большое спасибо ; ) xtarsy 12 лет назад 0
В MS Word 2007 и выше альтернативой «Вставка -> Объект -> Текст OpenDocument» является выбор кода после его вставки и использование Review | Расстойка | Установите язык и убедитесь, что выбран параметр «Не проверять орфографию или грамматику». Возможно, вам придется применять этот параметр более одного раза, чтобы заставить его придерживаться. JohnC 10 лет назад 0
4
Robert

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

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

3
Oded

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

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

Есть некоторые проблемы, например, как будет выглядеть строка длиннее ширины документа? voyager 14 лет назад 0
-1
USer22999299

Это то, что я сделал.

Конечные результаты: enter image description here

https://stackoverflow.com/a/25092977/1161594

Похожие вопросы