Gres

Делаем работу проще

Языки разметки в Qt Creator

Описание

В процессе разработки программ довольно часто приходится, помимо собственно программирования, заниматься написание различных документов. Это может быть как полноценная документация, так и простой набросок протокола или TODO список.

Как известно, программисты довольно ленивые люди, поэтому были придуманы языки разметки, заметно облегчающие написание этих самых документов. Упрощение заключается в следующем: текст пишется в соответствии с определенными правила, затем пропускается через парсер и на выходе получается красивый и понятный (ну это как получится) результат.

В качестве примеров можно привести вездесущий Markdown, а также reStructuredText, Asciidoc и т.д.

Qt Creator же в плане поддержки перечисленных выше языков ограничился подсветкой синтаксиса. Описываемый плагин как раз и пытается устранить это недоразумение.

Плагин позволяет просматривать документ в конечном, «красивом» виде.

Для этого, помимо его установки и активации, нужно выполнить следующие действия:

  1. В контекстном меню любого документа выбрать пункт «Открыть с помощью->Markview»
  2. Открыть этот же документ в соседнем редакторе (split)
  3. Изменить формат отображения документ в меню редактора (в верхней части, рядом с именем файла)
  4. При желании нажать на кнопку «?», рядом в меню выбора формы отображения, чтобы получить справку по текущему формату

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

Плагин поддерживает локализацию, но что в нем локализовывать, пока остается загадкой.

Внешний вид редакторов с различной формой отображения

Внешний вид редакторов с различной формой отображения

Начиная с версии 4.7 принцип работы плагина был изменен. Теперь не нужно явно открывать страницу в редакторе: она открывается автоматически. Также не нужно открывать второй редактор для отображения в «красивом» виде: все «красивости» появляются в основном редакторе. Правда не обошлось и без негатива: из поддерживаемых форматов остался только markdown, ну и новое отображение стало несколько более упрощенным.

Скачать

Скомпилированный плагин

Исходники

Версия плагина должна совпадать (по крайней мере первые две цифры) с версией Qt Creator’а.

15 комментариев

  1. Gres, извини, еще тебя побеспокою. В прошлом камменте, я пробовал твой плагин по кретором 4.3, сейчас же я поставил последний 4.7 и тво плаг, соотвественно.
    Открываю файл с Markdown, он открывается, здорово.
    Но «Изменить формат отображения документ в меню редактора (в верхней части, рядом с именем файла)» нет этого комбобокса.
    При этом синтаксис парсится, т.е. если я пишу ‘# Заголовок’, то у меня увеличится размер шрифта для всего текста в кавычках. Т.е. получается, что оба режима (редактирование и просмотр) смешаны.
    Если подскажешь, в чем проблема, буду очень признателен. Ты правильно написал — программисты ленивые люди, хочется все делать в одном месте.
    Еще раз спасибо за твой труд.

    • Как раз после твоего предыдущего комментария я немного подправил описание плагина (https://gres.biz/qtc-markview/ добавил текст под картинкой). Так что описанное поведение — это не ошибка. Так теперь и должно работать.
      Сделал так отчасти потому, что держать несколько редакторов имхо неудобно (я по этой причине плагином практически не пользовался) + проблемы с доп. зависимостями от WebEngine.

  2. Gres, здравствуйте. Сначала хотел выразить признательность за ваш труд.
    Пробую использовать ваш плагин.
    Система убунта 14 + Креатор 4.3.1
    Рапаковал бинарники, запускаю креатор через скрипт.
    Плагин загружается правильно.
    Выбираю md-файл, он открывается, делаю сплит и во втором окне пытаюсь сделать Markdown, в этот момент Креатор падает с таким сообщением
    Cannot mix incompatible Qt library (version 0x50800) with this library (version 0x50901)
    И это правда, что креатор у меня на 5.9.1.
    Что можно предпринять?
    Только сборка из исходников?
    Спасибо.

    • Здравствуйте.
      Если Qt Creator из репозиториев убунты, то наверняка придется пересобирать.
      Если через официальный установщик — то возможно забыли доустановить зависимости плагина (архив …-dep.tar.gz). До версии 4.7 плагину требуются дополнительные библиотеки Qt, которые вместе с Creator’ом не поставляются (WebEngine, …). Возможно по-этому и упал: часть библиотек нашел нужной версии (поставляемых с Qt Creator), остальные — системные.

      • Спасибо за оперативный ответ. Creator ставился вместе с Qt5.9.1 с фтп Digia
        deps не забыл распаковать, версии тоже правильные. почему уверен — потом пробовал версию для 4.2 — там плагин сразу падал на загрузке с указанием на неверные версии Text и Core.

  3. Привет, при загрузке qtcreator выдает ошибки

    Could not resolve dependency ‘Core(4.3.0)’
    Could not resolve dependency ‘TextEditor(4.3.0)’

    Оба пакета установлены в папку QtCreator. Система ubuntu 17.04, qtcreator 4.3.0

    • Привет. Запускаешь через qtcreator.sh или просто qtcreator? Надо через первый, т.к. он нужные пути для поиска библиотек устанавливает.
      Как смогу — проверю на 17.04.

      Update: проверил — работает и на чистой 17.04.

  4. При открытии QtCreator вылетает сообщение загрузчика модулей:/home/user/Qt/Tools/QtCreator/lib/qtcreator/plugins/libQtcMarkview.so: Невозможно загрузить библиотеку /home/user/ /Qt/Tools/QtCreator/lib/qtcreator/plugins/libQtcMarkview.so: (libQt5WebEngineWidgets.so.5: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога).
    Моя система Qt5.7, QtCreator 4.1, linux mint 17 x64.

    • Надо еще скачать и распаковать туда же (в папку Qt Creator’а) файл QtcMarkview-…-dep.tar.gz
      Там и лежат всякие дополнительные библиотеки, которых в штатной поставке не хватает.

  5. Кому нужны эти описания. Алексей

    • Описания нужны тем, кто хочет понять, что делает программа. Но, как я и говорил в другом сообщении, это страница не переводчика. Возможно поэтому ожидания не совпали с действительностью 🙂

  6. Как установить экранный переводчик я так и не понял. Алексей

Добавить комментарий

Ваш e-mail не будет опубликован.