1. Введение (эта статья)

  2. Расширяем структуру файлов надстройки и удалённая отладка

Поскольку это первая моя публикация на Хабре, хотя как читатель я присутствую здесь уже довольно много лет, я скажу пару слов о себе. Вообще мой стаж как программиста, если учитывать и студенческие годы, когда я под руководством моего руководителя практики начал изучать С и С++ еще в 1992 году (откидываем программирование на калькуляторах, это всё таки баловство), уже более 30 лет. Много чем занимался в этой сфере, и что перепробовал по работе и чисто из интереса. Несколько более «известным»  я стал с 2016 года в кругу тех, кто активно использует станки ЧПУ, как разработчик средств автоматизации (макросов) под CorelDraw. Тем не менее,  сегодня речь пойдет о другой автоматизации – офисной. В силу своей работы на гос службе, мне приходилось заниматься внедрением и поддержкой документооборота, а также автоматизацией разных рутинных задач. Поэтому тема не сказать что для меня незнакомая.

Кратко, если кому интересно как я пришёл в итоге к теме статьи

Но про автоматизацию в наших офисных пакетах (конкретно «МойОфис») можно сказать, что не знал почти ничего до нынешней зимы. На меня вышли рекрутёры одного из крупных банков, с предложением пособеседоваться на открывшуюся ставку в группу перевода большого пакета макросов из «MS Office», в закупленный в рамках импортозамещения  пакет «МойОфис» от «Новые облачные технологии». Я дал добро, так как на тот момент, хотя и работал в аналогичном русле по автоматизации на ещё одном «чудесном» отечественном пакете «Lotsia PDM Plus», но обстановка была такова, что в скором времени я мог оказаться без работы. Чтобы не быть совсем «бледным» перед потенциальным работодателем, я скачал лежащие в открытом доступе материалы по автоматизации в «МойОфис», посмотрел пару роликов с вэбинаров, и так же нашёл несколько статей с корпоративного блога, от создателей оного. Если вкратце, то с формулировкой «слишком опытный претендент» мне в итоге отказали, но материалы и сам офисный пакет остались. Далее, я всё-таки был уволен, так как проект по автоматизации в организации закрыли, в связи с приходом новых хозяев, которым было проще оставаться на таблицах Exсel, чем внедрять полноценный документооборот с DocumentsWorkflow (для тех кто не в курсе  - это раздел электронного документооборота, в котором организовано движение электронных документов по выстроенным бизнес-цепочкам пользователей). Так у меня появилось снова свободное время, и я решил более подробно изучить «МойОфис» в плане автоматизации.

Итак, что на текущий момент есть в плане автоматизации в пакете «МойОфис». На самом деле, если сравнивать с возможностями даже почти 20 летней давности автоматизации на VBA в «MS Office», то не много.  Языком для автоматизации выбран неплохой, в общем-то, хотя и мало для этого полезный, скриптовый язык Lua. Есть два типа поддерживаемых скриптов (поддержка есть только для текстового и табличного редакторов):

  • Макросы. Это простые именованные скрипты для выполнения локальных операций в документе, без возможности использовать дополнительные формы взаимодействия с пользователем и сам скрипт, как правило, внедрен как правило в сам документ.

  • Надстройки. Более сложный формат скриптов, который ставится (инсталлируется) уже в сам программный пакет. Поддерживает в зачаточном состоянии возможность использование форм для взаимодействия с пользователем, с базовым набором контролов взаимодействия пользователя с надстройкой.

"Заметьте, не я это предложил!" (С)

Данное описание взято непосредственно из руководства от самих разработчиков, поэтом про "зачаточную возможность использования форм" они написали сами! Но я полностью с ними согласен, так как с этим там и правда плохо, но если постараться, то кое что можно предпринимать даже с этим!

Имеется простой редактор для написания и отладки  скрипта макроса с расстановкой точек отладки и просмотра локальных переменных, но при этом нет даже автодополнения кода для API «МойОфис». То есть писать макросы в нем приходится, особенно по началу, с открытым справочником и поиском по нему требуемых данных об используемых в API функциях, что как по мне,  в 2023 году, как-то не особо правильно! Ещё недавно добавили "импорт" в виде закомментированного исходного кода VBA макросов, при открытии документов Word или Excel. Ну, в общем, для простых переносов простых же макросов, пусть «со скрипом», но терпимо!

Встроенный в "МойОфис Текст" Lua редактор для создания простых макросов.Как раз с примером "импортированного" для дальнейшей переделки под Lua исходного кода сохранённого внутри вордовского документа простого макроса.
Встроенный в "МойОфис Текст" Lua редактор для создания простых макросов.Как раз с примером "импортированного" для дальнейшей переделки под Lua исходного кода сохранённого внутри вордовского документа простого макроса.

А вот для надстроек, которые в общем то и являются более менее адекватной заменой макросам, даже и этого «не завезли»!

Немного "гневной лирики от себя

Ничего кроме чувства глубокого удивления и досады, когда я узнал об этом, это у меня не возникло! Не, ну как так то?! В наше время, когда  многие офисные работники настолько привыкли к написанной автоматизации под майкрософтовским офисом, что при предложении о переходе на любой другой офис, очень часто вторым вопросом такого работника, после: «А похоже ли будет на офис от майкрософта?», обычно следует: «А мои панельки (макросов) там будут?». А с панельками в новом офисе - сложно! Нет ни то чтобы визуального редактора форм, как у старших конкурентов, а и даже просто редактирование и отладка для надстроек не предусмотрена! Вот как все мягко говоря непросто, для тех, кто будет заниматься переносом макросов. Но как и принято в нашей среде программистов, если очень хочется, то что нибудь получится! Не думаю, что я один такой, кто нашёл обходные пути, но информации на этот счёт я не нашёл даже у разработчиков (даже в переписке с техподдержкой мне сказали, что пока всё только в планах).

Итак, что я предлагаю для решения проблем с отсутствием встроенной среды разработки, и создания более комфортной среды для тех коллег, кому придётся всё-таки заниматься внедрением надстроек под «МойОфис»?

  1. Для разработки надстройки использовать стороннюю среду разработки(IDE) предназначенная для программирования под Lua.

  2. Удалённая отладка надстроек средствами того же IDE.

  3. Создание в IDE простого визуального редактора для проектирования форм для новых надстроек (пока не пробовал, но шанс есть!)

  4. Создания аддона для встроенного в Microsoft Office IDE VBA, который бы позволил существенно упростить перенос уже разработанных макросов из «MS Office» под «МойОфис», за счёт хотя бы частичной трансляции дизайна форм и бизнес-логики

Таков мой план на текущий момент, хотя пункт 4 из него, всё таки это более дальняя перспектива, так как задача сама по себе, мягко говоря – нетривиальная! И сразу оговорюсь – решение найденное мной на текущий момент рассматривается под Windows. Собственно, если речь именно о переносе, то в любом случае актуально сперва всё сделать в винде, и потом перенести под Linux готовые надстройки. Поэтому, может быть,этим вопросом я займусь позже. И если всё пройдет успешно, опишу особенности, если таковые возникнут, уже отдельной статьёй.

Выбор IDE для написания надстроек

Мой выбор  для проведения экспериментов пал на LuaRT версии 1.4.  Данная среда разработки является форком другой, наверное самого известной среди Lua программистов всего мира ZeroBrane Studio (автор  Paul Kulchenko). При этом LuaRT является, наверное самый развивающийся в мире Lua IDE, в которой реализовано много новых своих интересных «фич», таких как компиляция в exe файл, работа со  своими модулями, в том числе и GUI. К тому же под она лицензией MIT, а значит позволяет безбоязненно использовать её возможности под выбранные цели.

LuaRT версии 1.4
LuaRT версии 1.4

Очень удобным плюсом такого  выбора оказалось и то, что  в LuaRT внедрёна возможность удаленной отладки, через модуль «mobdebug», который используется и для отладки Lua скриптов и в самом «МойОфис». Ещё из выявившихся в ходе исследований плюсов является возможность самостоятельно создать систему автодополнений для API «МойОфис», а значит существенно упростить себе жизнь при написании кода! О том, как это сделать я обязательно так же расскажу в следующей части.

Пишем простейшую надстройку

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

Итак, следуя упомянутому руководству, для начала работы нужно создать где-нибудь на диске папку со следующим набором подпапок:

Дополнительные структуры

Так же могут быть ещё две подпапки:

  • bin, в котором размещаются библиотеки и иные сторонние модули

  • i18n, в котором размещаются файлы, необходимые для локализации надстройки

Но на текущий момент, можно на них не обращать внимание.

Сразу опишу папку META-INF, так как она второстепенная, но обязательная. В ней должен быть всего лишь файл LICENSE с лицензионным соглашением, демонстрируемым при инсталляции надстройки. Содержимое лицензии на ваш вкус.

В корневой папке должен присутствовать файл регистрации с обязательным именем Package.lua, содержащий пары ключ-значение для конфигурации надстройки в приложении редакторов «МойОфис». Какие именно ключи и для чего можно узнать в соответствующем разделе руководства. Пока же приведу листинг из пробного файла с пояснением самых важных на текущий момент пунктов:

  • extensionName - Название надстройки. Отображается в меню Надстройки командного меню приложения в том случае, если надстройка установлена и включена

  • applicationId - Идентификатор приложения, с которым может работать надстройка

  • commandsProvider - Наименование файла сценария надстройки. Допустимо указание пути относительно домашнего каталога надстройки. Файл сценария под названием entryform.lua расположен в каталоге cmd домашней папки надстройки.

Полное содержимое файла Package.lua
local Package = {
vendor = "МойОфис",
description = "Это пример расширения для МойОфис",
extensionID = "ru.starfair.test",
extensionName = "Тестовое Расширение 1",
extensionVersion = {
 major = 1,
 minor = 1,
 patch = 0,
 build = "" },
applicationId = "MyOffice Text",
apiVersion = {
 major = 1,
 minor = 0 },
commandsProvider = "cmd/entryform.lua",
fallbackLanguage = 'en',
onLoad = "cmd/entryform-prep.lua",
onUnload = "cmd/entryform-prep.lua"
}
return Package

Остальные пункты не столь критичны на текущий момент. Далее, в каталоге cmd следует создать новый файл, с именем entryform.lua соответствующим имени указанном в commandsProvider файла Package.lua. Поскольку я хочу немного сэкономить место для этой статьи, содержимое я выберу сразу с созданием простой формы и пока не буду углубляться в сам код. Его я поясню в следующих статьях, или же можно понять, немного полистав руководство:

Actions = {}
--[[Обязательная команда, по которой устанавливается 
набор доступных для данной надстроки команд в меню--]]
function Actions.getCommands()
	return {
			{
				id = "DlgForm.ShowDlg",
				menuItem = "Показать форму",
				command = Actions.ShowControls
			}
	}   
end
--Создадим набор из двух кнопок Ок и Cancel
Actions.dialogButtons = ui:DialogButtons{}
Actions.dialogButtons:addButton("OK", Forms.DialogButtonRole_Accept)
Actions.dialogButtons:addButton("Cancel", Forms.DialogButtonRole_Reject)

--Создадим метку в середине формы
Actions.lblMenu = ui:Label{
  Text="Поздравляю с первой надстройкой!", 
  Color=Forms.Color(255,0,0),  
}
Actions.lblMenu:setColor(Forms.Color(255,0,0))
Actions.lblMenu:setAlignment(Forms.Alignment_MiddleCenter)

--Создадим форму используя созданные ранее контролы
Actions.dlgBegin = ui:Dialog {
	Title = "Демонстрация мультиформенного расширения",
	Size = Forms.Size(600,300),
	Buttons = Actions.dialogButtons,
	--Позиционирование метки строго по центру формы
  ui:Column {		
		ui:Row {Actions.lblMenu},   
	}
} 
--Функция выводящая созданую форму
function Actions.ShowControls(context)	    
  context.showDialog(Actions.dlgBegin) 
end
return Actions

На этой стадии, нужно быть очень внимательным, и поскольку отладка надстроек ещё не внедрена (этому я посвящу следующую статью), то любые ошибки придётся исправлять "вслепую", опираясь на скупые сообщения об ошибке (причем по одной за раз!), при попытке запустить инсталлированное расширение!

Итак, вводим данный листинг, сохраняем файл под названием entryform.lua в подпапку cmd (не обязательно именно такую, можно вообще в корне записать, но лучше не сваливать всё в одну кучу!). Дальше из под Проводника Windows выделяем всё содержимое корневой папки (помним что в папке META-INF, обязательно надо разместить файл с лицензией, иначе надстройка не инсталируется) и сохраняем в zip файл (правая кнопка мышки, в контекстном меню выбрать: Отправить/Сжатая ZIP папка). Далее надо просто сменить расширение получившегося .zip архива на расширение .mox. Как инсталлировать расширение, так же проще прочесть в руководстве по созданию надстроек от разработчиков. Если все прошло удачно, то в меню Надстройки программы «МойОфис Текст» появится созданная нами надстройка:

Так запускается наша первая надстройка в "МойОфис Текст"
Так запускается наша первая надстройка в "МойОфис Текст"

И собственно, вот что должно появится, когда вы выбираете пункт меню "Показать форму":

Внешний вид надстройки с формой
Внешний вид надстройки с формой

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

Итак, допустим собрали надстройку, инсталлировали и запустили.Первый же вопрос любого нормального программиста: "Каким образом теперь вносить изменения, и желательно без необходимости каждый раз создавать архив, инсталлировать по новой надстройку и т.д.?" Так вот, чтобы продолжить более комфортно заниматься расширением функционала, нужно найти место на жестком диске, где располагается инсталлированное расширение.И расположение не такое и очевидное! А именно вот по такому пути:

C:\Users\Your_User_Name\AppData\Local\New Cloud Technologies Ltd\MyOffice\MyOffice Text\Extensions 

Это для  «МойОфис Текст». Для редактора таблиц, MyOffice Text сменится на MyOffice Spreadsheet. Далее, после Extensions, следует специфичный Код_Надстройки, который генерируется для каждой надстройки отдельно. Если их много, то чему что соответствует, можно найти в реестре по следующим путям:
Для текстового редактора:

HKEY_CURRENT_USER\Software\MyOffice Standard\MyOffice Text\Plugins\Код_Надстройки

Для табличного:

HKEY_CURRENT_USER\Software\MyOffice Standard\MyOffice
Spreadsheet\Plugins\
Код_Надстройки

Теперь, закрываем в LuaRT всё что мы уже написали ранее, и вот таким образом указываем путь для проекта по выясненному как показано выше, абсолютному пути к инсталлированной надстройке:

Задание в LuaRT папки для текущего проекта
Задание в LuaRT папки для текущего проекта

Вот таким образом, мы теперь будем продолжать работу с исходным кодом, но уже инсталлированного расширения в достаточно удобной для работы IDE! А значит - без необходимости заново каждый раз при изменениях упаковывать в архив и инсталлировать надстройку!

Но не забывайте периодически делать самостоятельно вручную обратные копии файлов, так как если вы каким то образом по новой инсталлируете надстройку, прежняя папка будет удалена со всем содержимым, и "новое" содержимое будет распаковано в папку под новым кодом, хотя формально и для той же самой надстройки. И даже если вы сделаете обновление (такая возможность в диспетчере надстроек так же имеется), то всё равно, содержимое будет перезаписано, а значит в следующий раз у вас получится откат на более раннюю версию.

На сегодня всё! В следующей части я расскажу о подключении удалённой отладки и создании файла для автодополнения для API «МойОфис» в LuaRT.

Комментарии (22)


  1. bigcrush
    29.05.2023 07:59

    Почему Lua "мало для этого полезный"?


    1. starfair Автор
      29.05.2023 07:59

      Может быть я и излишне погорячился с такой формулировкой, но как мне показалось, что многие моменты именно с точки зрения офисной автоматизации потребуют существенного "допиливания". Например вызов нескольких файлов, чтобы разбить код по частям требует либо создание модулей, либо хитрых ходов с загрузкой через loadstring, что не очень удобно по сравнению например в том же VBA для MS Office, где уже всё "под боком", и даже многие объекты (те же формы) отдельно описывать не надо, если они подгружены в проект макроса. В Lua так просто уже не выйдет. По крайней мере, не в "МойОфис". О чем, собственно, будет вторая часть.


      1. bigcrush
        29.05.2023 07:59

        Спасибо за ответ. Пока не очень понятно. Будем ждать вторую часть.


        1. starfair Автор
          29.05.2023 07:59

          Сегодня опубликовал. Можете посмотреть


    1. LuchS-lynx
      29.05.2023 07:59

      Когда я тестировал МойОфис год назад os. был заблокирован, кроме того операции с файлами (открыть, закрыть, внести правку) тоже...


      1. bigcrush
        29.05.2023 07:59

        Возможно, из соображений безопасности.


        1. LuchS-lynx
          29.05.2023 07:59

          Да я не против, но лично все мои макросы имеют цель упрощать работу с внешними файлами по итогам манипуляций с данными. А если нельзя оценить время прогона макроса, открыть и поправить файл, то лично для меня уже все остальное теряет ценность. Конечно можно вынести это в условный python/C#/Java/и т.п., но это не всегда удобно.


          1. starfair Автор
            29.05.2023 07:59

            Насколько я могу понять, как такового запрета там нет. К тому же можно подключить любые сторонние модули (например через тот же LuaRocks или вручную), вплоть до какого-нибудь "luacom", если речь идёт о винде и творить разное, через любые COM объекты установленные в винде. Другое дело, что всё это так не очевидно и не документировано в самом API, что неясно, с каким прицелом создавались эти надстройки


  1. myoffice_ru
    29.05.2023 07:59
    +3

    @starfair, Здравствуйте! Благодарим вас за интерес к функциональности наших решений, связанной с созданием надстроек и макросов. В том числе за внимательное изучение документации, демонстрацию создания надстройки и предоставление ценных замечаний — постараемся учесть ваши комментарии при планировании развития продуктов.

    И конечно же, ожидаем продолжения статьи — с удовольствием почитаем вторую часть! Если появятся вопросы по продукту, пожалуйста, обращайтесь, попробуем вам помочь.


    1. starfair Автор
      29.05.2023 07:59

      Спасибо! Уже обращался :)
      Надеюсь, вас и остальных не разочаруют и остальные части


  1. Johan_Palych
    29.05.2023 07:59

    Почему выбор пал на Windows 7 - как среду разработки?
    Почитал про "МойОфис Комплект Средств Разработки (SDK)" Получить по запросу бесплатно-за деньги(от физика, юрика)?
    Почитал руководство по созданию надстроек от разработчиков
    Установка внешних модулей для ОС Microsoft Windows(LuaRocks, MinGW)

    В Debian luarocks(This package contains LuaRocks) из коробки.
    В Astra Linux Common Edition пакеты есть. И не проблема подключить репы Debian
    Список интерпретаторов Lua в ALT Linux. Altlinux-luarocks


    1. starfair Автор
      29.05.2023 07:59

      Все просто. Во первых - мне так намного привычнее. Не то чтобы я совсем никак с Linux. Напротив, даже сертифицирован как администратор был когда-то. Но я изначально ставил цель собрание среды по перебросу автоматизации документооборота из MS Office в МойОфис. А значит всё равно, скорее всего перенос будет под виндой. Поэтому и такой выбор. А так - особой разницы нет. Можно вместо LuaRT использовать ZeroBrane Studio и МойОфис под линукс. Принципы должны остаться теми же. Во вторых - я то больше акцентируюсь на то, как выйти из ситуации когда разработчики просто не дали инструментов разработки для их надстроек под их офис, нежели на том,какие инструменты использовать. Главное показать что путь есть, как мне кажется.


      1. Johan_Palych
        29.05.2023 07:59
        +1

        Спасибо за ответ.
        Про объекты критической инфраструктуры не буду вещать.
        Удалось получить "МойОфис Комплект Средств Разработки (SDK)"?
        ZeroBrane Studio под Linux:

        flatpak install flathub com.zerobrane.studio
        flatpak run com.zerobrane.studio
        ----
        wget https://download.zerobrane.com/ZeroBraneStudioEduPack-1.90-linux.sh
        sudo chmod +x ZeroBraneStudioEduPack-1.90-linux.sh
        sudo ./ZeroBraneStudioEduPack-1.90-linux.sh
        #в Debian#
        sudo apt-get install libgtk2.0-0 xdg-utils


        1. starfair Автор
          29.05.2023 07:59
          +1

          Нет, не получил. За деньги как физик не пробовал. Направил запрос разработчикам, но там видимо надо иметь что то партнёрское. Да мне собственно сам SDK и не нужен был. Меня интересовал пока набор касаемый именно надстроек (учебные примеры хотя бы), но пока сказали только "спасибо за внимание", и дали ссылки на открытую и так документацию.
          Что касается ZeroBrane Studio, то у меня она опять же пока только под виндой, но поскольку почти все что сейчас есть в LuaRT по настройкам ссылается на вики от ZeroBrane Studio, думаю что то что я буду дальше излагать именно по IDE без проблем пойдёт и там. А с учётом того, что кроме путей под виндой для надстроек, всё остальное не особо привязано к операционке, то наверное и повторить будет под Линуксом не так сложно. Но, опять же, я честно предупреждаю - пока не пробовал сам и ничего гарантировать не могу!


    1. myoffice_ru
      29.05.2023 07:59

      Добрый день! В настоящий момент "МойОфис Комплект Средств Разработки" (SDK) доступен только нашим технологическим партнёрам (компаниям). Условия получения индивидуальны и зависят от множества факторов. Представителям ИТ-компаний необходимо оставить заявку здесь: https://myoffice.ru/products/sdk/

      Если вас интересует возможность писать макросы и надстройки, для этих целей достаточно иметь корпоративную лицензию МойОфис.


      1. starfair Автор
        29.05.2023 07:59

        Это конечно сугубо ваше дело, но такая закрытость, для открытого в общем то API она немного не ясна лично мне.
        Вы наверняка же хотите привлечь к своим продуктам как можно больше внимания (для продаж, само собой), но в тоже время, SDK, которое позволило бы попробовать перед покупкой ваших продуктов, в плане возможности например использования под уже имеющиеся СЭД, оказываются недоступны потенциальным покупателям. На западе вон наоборот - почти всё в открытом доступе, кроме конечного продукта (и то есть триалы). Бери да пробуй, чтобы убедиться что все сложится и после покупки полных версий.
        Что до возможности написать свои надстройки, так я же и говорю - по одному описанию, возможности того что можно, а что нельзя, в ваших надстройках, для 99% читающих ваше руководство будет непонятны! Вам бы наоборот, написать с десяток таких и выложить в открытый доступ, а не чахнуть над ними как кащей над златом. Опять же - смотрите как на западе делают разрабы: куча бесплатных примеров, открытых статей, бесплатных репозиториев с SDK. Только покупайте наш продукт! А у вас как-то не похоже на такое.


        1. myoffice_ru
          29.05.2023 07:59

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


          1. starfair Автор
            29.05.2023 07:59

            Хм, вам там конечно виднее. Но по ходу, вы всё равно видимо, не понимаете позицию независимых разработчиков. Я вообще не понимаю вашей стратегии в вопросах автоматизации, но судя по тому, что я успел понять за полгода, от неудачного собеседования по поводу перевода макросов под ваш пакет, до сего момента, такое ощущение, что вы всячески затрудняете им жизнь. И зря


            1. myoffice_ru
              29.05.2023 07:59

              Нам жаль, что у вас сложилось такое впечатление о нашей компании. У МойОфис никогда не было и нет цели усложнить чью-либо жизнь, и все наши решения направлены на удобную работу с документами. Сейчас мы разрабатываем решение, которое позволит и частным лицам иметь доступ к надстройкам.

              Уточните, пожалуйста, когда вы были на собеседовании в нашей компании?


              1. starfair Автор
                29.05.2023 07:59

                Так я и не был у вас в компании на собеседовании, и даже и не претендовал (по крайней мере пока). Меня нанимали в один из крупных банков, для перевода крупного пакета внутренних макросов на VBA, в вашу систему автоматизации. Я им (банку) чем-то не подошел, хотя автоматизация на VBA является моей специализацией уже довольно много лет. А сейчас я вернулся к вопросу автоматизации в МойОфис, так как временно без работы остался, но вижу огромный потенциал создать нормальный тулчейн для подобной работы, и начать его эксплуатировать, если иная работа всё таки меня не найдёт.
                Что до первой части вашего ответа, ну замечательно, если вы упростите всем жизнь!


  1. Johan_Palych
    29.05.2023 07:59

    LuaRT-Studio и не скрывает:
    "Based on ZeroBrane Studio, from Paul Kulchenko"
    Интересно было бы протестировать надстройки на Linux.


    1. starfair Автор
      29.05.2023 07:59

      Да, именно так. И более того,описание большинства настроек в LuaRT просто ссылается на соответствующие разделы ZeroBrane Studio, поэтому я и написал, что скорее всего способы которые описаны для LuaRT под Windows, сработают и под ZeroBrane Studio на Linux. Единственное, что там могут быть проблемы с иными путями и настройками в Lua окружении самого МойОфис с чем я столкнулся, когда разбивал надстройки на отдельный скрипты и настраивал удалённую отладку. Но я пока не готов углубиться в этот вопрос. Может быть, позже