Питання Як відобразити фрагменти коду у форматі збереження MS Word та підсвічування синтаксису?


Хто-небудь знає спосіб відображення коду в документах Microsoft Word, що зберігає забарвлення та форматування? Переважно цей спосіб також буде ненав'язливим та простим для оновлення.

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

Нарешті, я знаю, що є набагато кращі редактори / формати, які не мають проблем з обробкою цього, але я застряг, працюючи з MS Word.


1600
2017-12-22 21:45


походження


Я пішов з змішаним рішенням. Скопіюйте форматування RTF, вставте в OpenOffice Writer, видаляйте фон (якщо є), а потім вставте код у MS Word. Чомусь я не можу видалити фон в Word :-( Anyways, the "Копіювати на стероїди" Плагін для цього в PhpStorm, WebStorm, PyCharm є aweome! - chjortlund
Починаючи з Office 365, я не знаю, може бути, навіть для Word 2013 або 2016 року. В Online Addin він називається "Формат коду". Встановіть Office Addin і в текстовому документі ви можете просто вибрати весь код (навіть кілька сторінок) і натисніть кнопку перетворення з кнопки Add Format Code, і перетворить його у форматований колір з номерами рядків. Я не міг знайти варіант для форматування без номерів рядків, хоча !!! Але, тим не менше, не так вже й погано !! - Rahul Saini


Відповіді:


Ось кращий спосіб для мене, щоб додати код усередині слова:

  1. перейдіть на вкладку "Вставити", натисніть кнопку "об'єкт" (це справа)
  2. виберіть "OpenDocument Text", який відкриє новий документ вбудованого слова
  3. скопіюйте та вставте код із Visual Studio / Eclipse всередині цієї вбудованої текстової сторінки
  4. зберегти і закрити

Результат виглядає дуже добре. Ось переваги цього методу:

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

І це займає всього кілька секунд.


1481
2018-04-16 13:54



Блискучий! Я багато років займався стилями, таблицями та іншими рішеннями. Це виправляє все в одну позицію. Зауважте, що ви також отримуєте бонус до додавання заголовка до коду. Я додав новий тип етикетки "Лістинг" для точок браузера :-) - Nebula
Це, здається, не працює з кодом довше, ніж сторінка? - WiSaGaN
@BetaRide Ні, це не так. Я просто використав це на документі на машині без встановлення OpenOffice. OpenDocument відноситься до формату файлів з підтримкою MS Office серед інших: en.wikipedia.org/wiki/OpenDocument - Jamie F
Не вдається побачити цю опцію на Word 2011 на OSX :( - Matt Gibson
Для Word 2011 на OSX використовуйте: Insert -> Object ... Документ Microsoft Word - s_t_e_v_e


Завантажте та встановіть Блокнот ++ і виконайте такі дії:

  1. Вставте код у вікно;

  2. Виберіть мову програмування з меню мови;

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

  4. Клацніть правою кнопкою миші та виберіть Команди плагіна -> Копіювати текст із підсвічуванням синтаксису;

  5. Вставте його в MS Word, і вам добре йти!

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

Notepad ++ має плагін під назвою "NppExport" (попередньо встановлений), який дозволяє копіювати в RTF, HTML та ВСІ. Це допускає десятки мов, тоді як вищезгадані IDE обмежуються жменькою кожен (без інших плагінів).

Я використовую Копіювати всі формати в буфер обміну і "вставити як HTML" в MS Word.

screenshot from notepad++


874
2017-12-22 20:58



Це чудово працювало. Я вже мав Notepad ++ для інших проектів коду, але ніколи не думав про його використання. У поєднанні зі стилем Word, який додав слабкий синій фон, межі та вимкнуту перевірку орфографії, він виглядає досить добре, і досить швидкий для багатьох файлів, на відміну від методів, що стосуються експорту та імпорту файлів. Хоча я хотів, щоб його було додано як поле, яке автоматично перевірятиме оригінальні файли .java для оновлень і зберігатиме останній вихідний код у файлі Word. - Neil
Дякую за цю підказку. Плагіни -> NppExport -> Копіювати RTF у буфер обміну також працює. - Andrew Huey
@AndyH Дякую! Моє меню правою кнопкою миші не має Команди плагіна. - Error 454
Це працювало дуже добре. У Word 2007 +, щоб додати кордон і вимкнути перевірку орфографії: 1) виберіть свій код; 2) «Домашня сторінка-> Стилі-> Зберегти вибір як новий Швидкий стиль» (це кнопка падіння); 3) Назвіть його "Код" або подібне; 4) змінити; 5) Формат-> Кордон (внизу ліворуч), щоб додати кордон; 6) Формат-> Мова [X] Не перевіряйте написання та граматику. Тепер ви можете застосувати те саме форматування «Код» до тексту, вставленому з NppExport. - Blazes
@BennyNeugebauer: Номер рядка можна додати, налаштувавши параметри Формат-> Нумерація, Визначити форматування нового номера, видалити точку в першому стилі. Ви можете вибрати параметр Format, виконавши наступні кроки @ Blazes: АБО стиль: виберіть новий стиль-> керувати стилями-> Змінити - Miranda


enter image description here

Формат коду Addin тепер доступний в Office Addins з Office 365! Просто виберіть кодекс і натисніть перетворити його, і він перетворить текст коду на форматований код кольору з номерами рядків !!!

Біт радійте!

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


80
2017-11-07 19:09



тільки пост, я бачив, де відповідь - це додавання на слово. Найпростіше рішення, це повинно бути прийнятною відповіддю у 2017 році! - mimo
Але це все ще показує орфографічні помилки / попередження. - schauhan
@schauhan Ніколи не мав на увазі видалення орфографічних помилок / попереджень. Метою цього плагіна є форматування коду за допомогою ключових слів і відступу. - Rahul Saini
Цей плагін неправильно обробляє HTML, змішаний з JS, висновок повністю неправильний і неприйнятний. - modiX
Відмінно працює для JSON, спасибі! - Berat Baran Cevik


Прочитавши багато відповідних відповідей, я натрапив на власне рішення, яке для мене є найбільш підходящим.

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

Як ви бачите, виділяється такий самий синтаксис, що і на стовбурному переповненні, що є досить приголомшливим.

Етапи відтворення:

на переповненні стека

  1. Йти до Задати питання (бажано з Chrome)
  2. Вставте код і додайте a мовний тег (наприклад, Java), щоб отримати синтаксичну висоту підсвічування
  3. Скопіюйте код з попереднього перегляду

у словнику

  1. Вставити> Таблиця> 1x1
  2. Вставити код
  3. Дизайн таблиці> Границі> Ні границі
  4. Виберіть код> Редагувати> Знайти> Замінити
    Пошуковий документ ^ п (Абзац Марка) Замінити ^ l (Ручне розрив лінії)
    (Це необхідно для видалення прогалин між деякими рядками)
  5. Виберіть код ще раз> Огляд> Мова> перевірити "Не перевіряти орфографію чи граматику"
  6. Нарешті, додайте заголовок за допомогою посилання «Література»> «Вставити підпис»> «Нова етикетка», назвіть її «Лістинг» або стр

Зразок коду завдяки цей хлопець


61
2017-07-05 14:46



Щоб додати номери рядків, можна вставити стовпець ліворуч і включити всі номери рядків у одну комірку. - Matthias A. Eckhart
потрібен для SQL, це допомогло. - Muneeb Mirza


Я ввожу код у Visual Studio, а потім скопіюю-вставте в слово. це зберігає кольори.


48
2017-12-22 22:10



Але далеко від 100% вірності. Схоже, що процес копіювання з деяких причин видаляє велику кількість форматування. - Frank Krueger
До речі, це добре працює з Eclipse і OpenOffice Writer (я не знаю про Eclipse / Word або VisualStudio / Writer, хоча). - Joachim Sauer
Цікаво, чи це залежить від того, використовуєте ви вкладки, або Visual Studio перетворює вкладки на прогалини. Я не помічаю проблем із пробілами. - devuxer
Використовуючи пробіли, здається, виправлено будь-які помилки форматування. Вид болю, але він працює. - shmeeps
Працює, але так як у мене чорна тема ... результати незрозумілі. blog.wekeroad.com/wp-content/uploads/2007/10/codefile.gif - EdgarT


Коли я це зробив, я широко використовував стилі. Це дуже допомагає.

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

Перевагою такого способу є те, що його легко адаптувати до будь-якого коду, який ви робите; вам не доведеться покладатися на деяку IDE, щоб з'ясувати, що саме відбувається для вас. (Основна проблема: друковані сторінки, як правило, не такі широкі, як вікна редактора, тому обгортання буде смоктати ...)


27
2018-04-16 14:10



Дякуємо за цю інформацію. Можна запитати, як я можу використовувати наміри, щоб відобразити вкладені кодові лінії? Якщо я використовую фоновий колір та межі для мого абзацу, коли я використовую відступ, весь блок рухається. - m.spyratos
Було б приємно поділитися своїм стилем / шаблоном? - Eric Ouellet


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

Використовуйте CTRL+ПРОБІЛКА скинути стиль.


21
2017-12-22 21:48



Ви не будете зберігати підсвічування синтаксису. - Uri
Підсвічування синтаксису переоцінюється, якщо ми говоримо тут документ Word. Але це також легко реалізувати в скрипті VB, який відтворює весь текст, стильований як "Код". - Frank Krueger
Ось так я роблю це і з дуже хорошими результатами, хоча я також вимикаю перевірку правопису / граматики для мого стилю коду. - Clayton
Звичайно, ви можете зберегти підсвічування синтаксису: Створіть стиль без кольору шрифту - elgonzo
Помилки правопису будуть виділені скрізь. - SOFe


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

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

Одна з основних переваг полягає в тому, що, на відміну від Code Format Add-In для Word, він робить це НЕ зламаний кодом і поважає синтаксис різних мов. Я спробував багато інших варіантів, запропонованих в іншій відповіді, але я знайшов цей, щоб бути найбільш ефективним (швидкий і дійсно ефективний)

Існує ще один інтерактивний інструмент onlinz, який цитується в іншій відповіді (markup.su), але я вважаю, що випуск planetB більш витончений (хоча і менш універсальний).

Вхід: 

enter image description here

Вихід: 

enter image description here


20
2018-03-24 21:01





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


19
2017-12-22 22:02



Це все одно не призведе до підсвічування синтаксису. - Sk8erPeter
@ Sk8erPeter: Це не обов'язково так. Копіювання та вставка більше, ніж здатні передавати кольорову інформацію - це відбувається весь час, коли я краще це не робив. Це залежить від того, чи підтримують джерела та цільові програми однакову схему для вказівки. - chaos
це рішення просте, і досить добре! - Dan Ciborowski - MSFT


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

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

Ось так виглядає кодекс нарешті.code as seen in Word


16
2017-09-08 16:20



Чи є спосіб змінити розмір шрифту? Мій код дуже великий, і я хочу розмістити його на кількох сторінках словом. Зміна розміру шрифту у слові не допоможе - dark32
Може бути, ви не виділяєте текст всередині текстового поля перед зміною розміру шрифту? - maaw
Він змінює розмір шрифту, але не впливає на пропуск між рядками - dark32
@ dark32, якщо я правильно розумію вашу проблему, вам потрібно змінити інтервал між рядками: support.office.com/en-us/article/... - maaw
Це чудово працювало тиждень тому, проте, станом на 07.12.2017 р. На сайті markup.su/highlighter більше не працює. Сподіваюся, що це буде незабаром. - Gorgon_Union