розширення виділення коду для письменника Office Libre


21

Нещодавно я написав репортаж для школи з великою кількістю коду в ньому. Єдиний спосіб, який я виявив занепокоєння, - це виділити його STRONG, і це справді досить некрасиво. Так чи є розширення підкреслення коду для вільного офісного письменника?

Як ось цей нижче:

<insert code here>

Синтаксична підсвітка з різними кольорами також нормальна.
Я ніколи не входжу в цілу програму, тому мені потрібно вміти підкреслювати те, що, на мою думку, є кодом.

Як ця: echo "Hello World!";

Кодер

Мені досонально не сподобалась ця родзинка, оскільки вона форматує текст і весь текст, що йде після. Я хочу позначити якийсь текст, потім натиснути на виділення, і все.
Цей занадто складний і важкий у використанні, я повинен вибирати мову програмування кожного разу, коли я виділяю, що буде приблизно 100 разів в одному звіті, це занадто багато.
Мені б хотілося щось подібне до того, що вони використовують на сайті. просте виділення коду, якщо ви хочете.

Форматор кольорового коду

Він встановлюється для мене, але я не можу змусити його працювати, і він не має підтримки PHP або HTML, яка мені потрібна.


додано як відповідь, радий, що це допомогло
Дрейк Кларріс

1
Я рекомендую використовувати LaTeX (див. Приклад ). Перш ніж я використовував латекс, я зберіг джерело у форматі HTML за допомогою KDE Kate та скопіював відтворений код із браузера, щоб відкрити офіс
Мартін Тома

@Moose, чому ви додаєте це як коментар замість відповіді? поясніть всі кроки теж дякую.
Альвар

Відповіді:


15

Це не плагін, але я розміщую код на веб-сайті, який забарвлює для вас синтаксис. Я використовую сайт - tohtml . Я не використовую код, що генерується у форматі html, я просто копіюю кольоровий та виділений код із браузера та вставляю його у мій документ та WYSIWYG.


Копіювання не працювало для мене з Firefox до Libroffice, хоча збереження як HTML і відкриття файлу в Libreoffice, а потім копіювання справді працювало
Wilf

копіювати + вставляти, працюючи на ubuntu, від хромування до вільнодійства! Спасибі!
rrosa

11

ОНОВЛЕННЯ 2: Розширення LibreOffice

Я опублікував попередній макроскрипт як розширення: Code Highlighter, який доступний у магазині розширень LibreOffice.

1. Як встановити?

Виконайте наступні дії, щоб встановити розширення:

Крок 1: Встановіть libreoffice-script-provider-python:

sudo apt-get install libreoffice-script-provider-python

Крок 2: Встановіть пігменти для Python 3:

sudo pip3 install pygments

Крок 3: Завантажте та додайте розширення codehighlighter.oxt до Libre Office

2. Як користуватися?

  • Відкрийте LibreOffice Writer / Calc / Impress.
  • Вставте текстове поле ( Вставити -> Текстове поле ).
  • Скопіюйте та вставте будь-який фрагмент коду до цього текстового поля.
  • Виберіть текстове поле.
  • Виділити за допомогою інструментів -> Код виділення -> <Мова-Ім'я>

введіть тут опис зображення

Можна призначити комбінації клавіш для часто використовуваних мов. Щоб дізнатися, як призначити ярлик клавіатури, відвідайте сторінку Git Hub: libreoffice-code-highlighter


Я залишаю тут свою оригінальну відповідь, оскільки вона все ще діє для LO <= 5.

У мене була така ж вимога, і жодне з цих рішень не працювало для мене в LibreOffice 5, за винятком «Форматформатора колоридатора коду». Але Code Colorizer Formatter працював лише в програмі Writer (мені також знадобився Impress). Пізніше я знайшов інше рішення, використовуючи макрос Python, який тестується в LibreOffice 5.

Установка

Крок 1: Встановіть libreoffice-script-provider-python:

sudo apt-get install libreoffice-script-provider-python

Крок 2: Встановіть пігменти для Python 3:

sudo pip3 install pygments

Крок 3: Завантажте Highlight.py

Крок 4: Скопіюйте Highlight.py в / usr / lib / libreoffice / share / Scripts / python /

sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/

Крок 5: Встановіть для сценарію дозвіл лише для читання.

sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py

Крок 6: Відкрийте програму LibreOffice Writer та перейдіть до Інструментів -> Налаштувати -> Клавіатуру

  • Виберіть кнопку опції LibreOffice (Доступно у верхньому лівому куті)
  • Виберіть будь-який потрібний ярлик
  • Виберіть розділити / виділити / виділити_код_код у категорії функцій
  • Натисніть кнопку Змінити, щоб встановити ярлик

Використання

LibreOffice Impress

  • Відкрийте LibreOffice Impress.
  • Вставте текстове поле (Вставити -> Текстове поле).
  • Скопіюйте та вставте будь-який фрагмент коду до цього текстового поля.
  • Створіть новий стиль (Клацніть правою кнопкою миші на існуючому стилі -> Новий ...)
  • Назвіть стиль як code-<language>
  • Застосуйте стиль до текстового поля свого фрагмента коду.
  • Виберіть текстове поле.
  • Використовуйте клавіші швидкого доступу для виконання макросу.

LibreOffice Writer / Calc

  • Відкрийте LibreOffice Writer / Calc.
  • Вставте текстове поле (Вставити -> Текстове поле).
  • Скопіюйте та вставте будь-який фрагмент коду до цього текстового поля.
  • Клацніть правою кнопкою миші на текстовому полі і виберіть "Опис".
  • Додайте опис у такому форматі: code-<language>
  • Виберіть текстове поле
  • Використовуйте клавіші швидкого доступу для виконання макросу.

ОНОВЛЕННЯ 1:

Я додав підтримку спеціального стилю до цього розширення. Використовувати code-<language>для типового стилю та code-<language>-<style>для користувацького стилю. Доступні стилі перелічені на моїй сторінці Git Hub.

Наприклад, Code-Java-Emacsпофарбує код Java за допомогою стилю Emacs.


Це працює дуже добре, дякую! Як я можу змінити тему пігментів?
greschd

Перевірте оновлену публікацію. Я оновив свій сценарій для підтримки користувацьких стилів. Вам потрібно оновити сценарій Highlight.py, щоб використовувати цю нову функцію.
Гобінат

Приємно, дякую. Одне все ще мене турбує - коли я тільки що зберегла файл, а потім спробую виконати макрос, він скидає текст до деякої попередньої версії. Чи знаєте ви, чому це так, і якщо це можна було легко виправити?
greschd

Я не стикався з такою проблемою. Чи можете ви, будь ласка, дозволити мені знати точні кроки для відтворення цієї проблеми?
Гобінат

(в Impress): я редагую деякий код у текстовому полі, яке я вже відформатував, збережу документ (Ctrl + S), виберіть текстове поле, спробуйте виділити (Ctrl + Shift + H), і він скине частину тексту Я писав
greschd

4

COOder

COOder, здається, покинутий, і його неможливо встановити в LibreOffice 4.2.8.2.

Форматор кольорового коду

Формат-програвач Colorizer Code встановлюється та працює правильно в LibreOffice. Code Colorizer Formatter також додав підтримку PHP, але підтримка HTML повністю відсутня, і JavaScript не працював, коли я тестував її. Інструкції, як змусити його працювати на веб-сайті Code Colorizer Formatter, не працювали для мене, проте я змусив Codeter Colorizer Formatter працювати в LibreOffice важким шляхом, і ось мої вказівки:

  1. Завантажте Code Colorizer Formatter з домашньої сторінки проекту Code Colorizer Formatter та встановіть його в LibreOffice Writer, як і будь-яке інше розширення LibreOffice.

  2. Відкрийте файл коду в LibreOffice Writer. Колор-колоризатор Форматтер підтримує Bash, Basic, C ++, Java, Perl, PHP, Python, R, SQL, XML, C #, 8085 Assembler і x86 Assembler.

  3. Виберіть код, який потрібно розфарбувати.

  4. Виберіть Інструменти -> Макроси -> Організувати макроси -> LibreOffice Basic .

  5. Відкриється нове вікно основних макросів LibreOffice . Під Макрос з заголовка, виберіть My Macros -> MacroFormatterADP -> підтримуваний мову програмування. На скріншоті нижче вибрано Java.

  6. Під заголовком Існуючі макроси у ... виберіть HighlightSelLanguage, де Мова в HighlightSelLanguage є такою ж, як мова програмування, вибрана на кроці п’ятому. На скріншоті нижче вибрано HighlightSelJava.

  7. Клацніть кнопку Запустити, щоб розфарбувати вибраний код.

введіть тут опис зображення


Здається, покинутий, переходячи до розділу з розширеннями у LibreOffice, він каже, що оновлення не було оновлено більше року
Purefan

Обсяг роботи з використання CCF не вартий результату, ІМХО. Я думав, що сторінка tohtml зробила кращу роботу з результатами (наприклад, кольорові крапки, дужки тощо). Однак якщо хтось хоче скористатися цим "найпростішим способом" ™, він може перейти до Інструменти >> Налаштувати ... >> Контекстні меню (вкладка) >> Меню (випадаючий список) >> Текст >> Додати ... ( кнопка) >> Макроси LibreOffice >> Мої макроси >> MacroFormatterADP >> (виберіть мову) >> HighlightSel (мова) >> Закрити . Після цього просто виділіть текст, клацніть r та знайдіть у контекстному меню нову опцію для форматування вибраного тексту; запис може бути перейменований.
code_dredd

1
@karel Я використовую версію 5.2.2.2в Kubuntu 16.10. Я зробив це за кілька моментів до мого оригінального коментаря.
code_dredd

@ray Дякую за пропозицію. Я встановлю Kubuntu у VirtualBox і спробую його.
карел

@karel Чи версія 5.2.2.2в Windows не працює однаково? Я думаю, що просто оновити вашу версію має працювати без необхідності повноцінного встановлення ОС.
code_dredd

1

Я повинен вибирати мову програмування кожен раз, коли я виділяю, що буде приблизно 100 разів в одному звіті, це занадто багато

Насправді існує спосіб прив’язати розмальовки на даній мові до гарячої клавіші. Зробіть наступний підпункт і прив’яжіть його до гарячої клавіші:

Перейдіть до Інструменти → Макроси → Організуйте макроси → LibreOffice Basic. Виберіть Module1 і натисніть Edit:

введіть тут опис зображення

Потім скопіюйте цей код:

Sub COOoderInPython
  ExecuteCOOoder("python")
End Sub

Sub ExecuteCOOoder(sLanguage As String)
  oLanguage = org.openoffice.coooder.theLanguagesManager.get(GetDefaultContext()).getLanguage(sLanguage)
  If NOT isNull(oLanguage) Then
    oHighlighter = CreateUnoService("org.openoffice.coooder.Highlighter")
    oHighlighter.Language = oLanguage
    oHighlighter.parse(Null)
  End If
End Sub

Нарешті прив’яжіть це до гарячої клавіші:

введіть тут опис зображення


0

Я знаю, але, здається, покинутий, Форматтер Колор Колоризер .

Я не знаю, чи все ще працює в LO 4, але, можливо, вам варто спробувати (або врятувати та довести до кінця!).


1
Колор-колоризер форматів був оновлений 1 березня 2015 року з підтримкою до LibreOffice 4.4 для багатьох мов програмування, включаючи PHP. Я протестував Code Colorizer Formatter на LibreOffice 4.2. Інструкції на офіційному веб-сайті Code Colorizer Formatter не працювали для мене, тому я відповів своїм власним інструкціям щодо використання Code Colorizer Formatter.
карел

0

Я втомився від форматування свого коду на веб-сторінці і хотів отримати свій код у LibreOffice або OpenOffice Writer.

Я з'ясував, що розширення "cooder" працює належним чином на моєму LibreOffice 5. *, навіть якщо встановлення його здавалося невдалим (My LibreOffice 5. * призупинено під час встановлення).

У диспетчері розширень ви можете активувати Cooder, перезапустити LibreOffice / NeoOffice / OpenOffice. Ви повинні побачити новий символ, який ви можете використовувати для стилізації вихідного коду всередині LibreOffice.

Ви можете завантажити розширення за адресою: http://extensions.libreoffice.org/extension-center/coooder

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.