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

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

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

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

Ответы [ 37 ]

16 голосов
/ 27 августа 2015

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

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

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

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

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

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

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

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

НТН

Колби Африка

9 голосов
/ 15 апреля 2012

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

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

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

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

7 голосов
/ 20 июня 2017

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

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

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

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

enter image description here

7 голосов
/ 29 января 2016

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

Затем откройте этот HTML-файл в веб-браузере и скопируйте / вставьте все, что он отображал в Word. Vim tips wiki содержит дополнительную информацию .

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

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

6 голосов
/ 11 марта 2011

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

SciTE поддерживает следующие языки, но, вероятно, поддерживает другие: Abaqus *, Ada, файлы определения MIB ANS.1 *, APDL, Assembler (NASM, MASM), Asymptote *, AutoIt *, Avenue *, пакетные файлы (MS -DOS), Baan *, Bash *, BlitzBasic *, Bullant *, C / C ++ / 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 *.

6 голосов
/ 28 июля 2018

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

6 голосов
/ 25 марта 2011

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

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

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

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

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

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

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