OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 26 Август, 2019 05:44

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: блекбокс и Visual Studio Code
СообщениеДобавлено: Вторник, 30 Октябрь, 2018 12:38 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
Благодаря работе Ивана над текстовыми исходниками началась дружба между BlackBoxComponentBuilder и Visual Studio Code. Для тех, кто кроме топора признаёт также стамеску и молоток, Visual Studio Code выглядит хорошим выбором.

Я взял раскраску для Паскаля и частично переделал её под КП. Кое-что там странно (например, подсветка некоторых ключевых слов Паскаля не выпилена), но зато есть главное, для чего вообще нужна раскраска: подсветка строк и комментариев, в том числе, вложенных. В этом смысле инструмент законченный и качественный. Для истинных славянофилов я сделал также (*синий*)вот такую игрушку(*кнсиний*). КЛЮЧЕВЫЕ СЛОВА сделал бледно-серыми - так они меньше загромождают вид и в таком виде текст на КП стал более-менее эстетически приемлемым. Получилось как-то так:

Вложение:
ББ-и-ВС.png
ББ-и-ВС.png [ 196.88 КБ | Просмотров: 1440 ]


Если среди раскольников есть ещё те, кому не нравится среда ББ, но нравится сам КП, есть план дальнейшего развития. Нужен "переход к определению" и "автоматически расставить отступы". Там реализовано для Паскаля, но нужно переделать под КП, и тут уже придётся писать на самом КП и создавать клиент-серверную архитектуру, в которой КП будет сервером, а ВС Цоде - клиентом.

Мне кажется, что все диссиденты уже перешли на другие технологии, но вдруг есть ещё кто-то живой.

При этом нужно отметить, что на жизнь среды ББЦБ мы не посягаем - речь идёт о дружбе и взаимном дополнении. Например, в VS Code нет возможности делать произвольный ГПИ (GUI) (или я о ней не знаю), а в ББЦБ это как раз возможно. Файл раскраски можно найти здесь: http://вече.программирование-по-русски.рф/viewtopic.php?f=2&t=22

Что мне на данный момент доставляет страдания - так это отсутствие карты исходного текста с возможностью выбрать определение из выпадающего списка определений в данном модуле. Буду рад, если кто-нибудь озаботится добавлением такой возможности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Вторник, 30 Октябрь, 2018 14:10 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1113
Откуда: СССР v2.0 rc 1
Я обеими руками за фолдинг -- это действительно полезная вещь в ВСК. Что касается подсветки -- то тут лично мне ровно (если есть фолдинг, то подсветка не сильно и нужна. По крайней мере, как отдельная сущность -- подсветка ещё больше теряет своей полезности). Вот сделать ГИП для ББ независимым от ВинАПИ -- вот это будет тема)
А вот ссылочка в тексте моё внимание привлекла, да))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Вторник, 30 Октябрь, 2018 14:36 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
А что, разве Иван не над тем работает, чтобы сделать блекбокс под Линух без ЮинАпи?
Я, правда, их продукт пока видел только под Wine. На самом деле, сегодня проблема кроссплатформенного ГПИ - это кровь и слёзы. Есть изрядно подзаброшенный tk (не решают проблему ввода кириллицы с клавиатуры и не собираются), есть ужасный и плохо лицензированный Qt. Есть всякие там убогие uip. И есть катастрофический веб. Т.е. по сути вообще ничего нет. Это было одной из причин, почему я обратил внимание на ББЦБ. Правда, пока я скорее разочарован (например, обработка клавиатуры очень слабая). Но это можно допиливать при условии наличия людей, которым это интересно.

К фолдингу лично я равнодушен, но не суть: ВСК - это МНОГО полезных инструментов, которые пилить (чинить) для ББЦБ слишком дорого.

И нет, здесь речь не идёт о создании ГПИ, независимого от ВинАпи. Речь идёт о работе с исходниками с бОльшим комфортом. Пока что путём наименьшего сопротивления выглядит именно этот.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Вторник, 30 Октябрь, 2018 15:26 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
Нашёл расширение Function List, потратил несколько часов и не смог настроить его, чтобы оно показывало список процедур. Оно кривое. Если в найденном объявлении процедуры присутствует звёздочка или крышка, то потом к этому объявлению нельзя перейти. Почти наверное находка используется в качестве регулярного выражения для последующего поиска, или что-то ещё в этом роде. Т.е. этот Function List нужно ещё чинить. Для этого придётся разбираться, как отлаживать существующие расширения для Visual Studio Code. В справке написано плохо. Времени разбираться дальше сейчас нет. Правда, выяснилось, что в ВСК есть встроенный режим отображения дерева символов - с этим тоже надо разбираться - вот тут написано: https://stackoverflow.com/questions/361 ... tudio-code

Неприятное открытие состояло в том, что для русского языка подчёркнутые буквы в меню не работают. Впрочем, я всё равно обычно запускаю все команды через Ctrl-Shift-P, поэтому данная неприятность более-менее терпима.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Вторник, 30 Октябрь, 2018 18:15 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
Писать полноценный language server некогда, разобрался в отладке расширений. Понял как исправить этот function list, но некогда довести до конца :!: Надеюсь, при следующем заходе сделаю. Хотя по большому счёту, этот список составляется каким-нибудь вот таким регэкспом:
Код:
\b(PROCEDURE|TYPE|CONST)\b

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Вторник, 30 Октябрь, 2018 21:50 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
\b(PROCEDURE|TYPE|CONST|RECORD)\b


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Пятница, 21 Декабрь, 2018 21:55 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
Дал расширению своё название, сделал репозиторий, инструкции по установке и отладке.

Тема на прежнем месте:

http://вече.программирование-по-русски.рф/viewtopic.php?f=2&t=22

Но конечно, надо писать сервер, чтобы получать динамически инфу из запущенного КП. Тогда можно будет сделать автодополнение и прочие красивости. Некогда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Суббота, 22 Декабрь, 2018 07:06 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3061
Откуда: Астрахань
Немного не понял.
VSCode - клиент для сервера с ББ ?
Или к VSCode прикрутили КП?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Суббота, 22 Декабрь, 2018 16:38 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
Пока что всего лишь прикрутил раскраску КП к VS Code. Поскольку в сборке, которую сделали Иван Денисов и я, исходники хранятся в текстовом виде, получается, что можно редактировать исходники в VS Code, а компилировать их в ББ, с минимальными неудобствами.

ПО сравнению с редактированием в самой среде ББЦБ получены следующие преимущества:
  • Виден закомментированный код и незакрытые строковые константы
  • Поиск и замена по нескольким файлам в VS Code несравнимо удобнее (или в ББЦБ его вообще нет)
  • Есть "глупое" автодополнение на уровне слов (не понимает смысла слов, но иногда польза есть)

Там ещё много чего можно доделать, не выходя за рамки VS Code, но сейчас я пытаюсь найти реализацию socket server для ББЦБ, чтобы можно было обращаться из VS Code к ББЦБ с запросами. Тогда откроется путь для реализации "умного" автодополнения, перехода к исходнику и проч.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Воскресенье, 23 Декабрь, 2018 10:07 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3061
Откуда: Астрахань
Понятно.
Тогда есть смысл рассмотреть такой вариант.
Каким-то образом вырезать компилятор КП из ББ и прикрутить его прямо к VSCode.
Прикрутить - достаточно просто, мои студенты делают это на счет раз.
Задача - вырезать компилятор.
Тогда получим новую IDE, которая более современная.
И которую можно использовать прямо в учебном процессе.
И развивать современными технологиями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Воскресенье, 23 Декабрь, 2018 15:18 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
У меня очень мало ресурсов, поэтому я соблюдаю принцип наименьшего действия. Выдирать компилятор - это трудоёмко. Поэтому я сразу начал с того, чтобы вставлять компилятор, ничего не выдирая. Вставка - это в любом случае интерфейс либо через pipe, либо через сокеты, либо через компоновку приложения. Компоновка приложения - наиболее сложна и наименее надёжна, а сокеты - это практически идеал с точки зрения гибкости и надёжности. Другие преимущества выбранного мной подхода:
  • не теряется интересная технология документов ББ, в т.ч. можно читать всю документацию.
  • не теряется возможность установки пакетов ББ через decode.
  • не теряется существующий пошаговый отладчик ББ
  • не теряется просмотр кодовых файлов ББ и инспектор состояния после ошибки
  • можно подключиться к удалённому экземпляру ББ, т.к. это клиент-серверная технология. В т.ч. к экземпляру ББ на каком-нибудь микроконтроллере, куда VS Code вообще не поместится.
  • можно подключить два экземпляра VS Code к одному ББ, и плюс ещё держать окно самого ББ, т.е. иметь «широкое окно» в ББ
  • «языковый сервер» создаёт абстракцию удалённой среды разработки. Имея эту абстракцию, можно заменить VS Code на другую ИСР или заменить ББЦБ на иную оберон-подобную реализацию.
Может быть, для учебного процесса такой гибридный подход, когда есть и ББ, и VS Code, не особо удобен. Хотя это смотря чему учат. Если речь идёт о программировании микроконтроллеров, то там, мне кажется, ситуация, когда «жирная» среда работает на «большом компьютере», а на самом микроконтроллере есть «тощая» - достаточно стандартная. Да и в наши времена сетевых технологий всякого рода жирные веб-иде и худые консоли - это норма.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Воскресенье, 23 Декабрь, 2018 19:19 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8170
Откуда: Троицк, Москва
budden писал(а):
Может быть, для учебного процесса такой гибридный подход, когда есть и ББ, и VS Code, не особо удобен. Хотя это смотря чему учат.
12-13-леткам VS Code не особо предложишь.

Предполагается, что после базового курса на ББ в отдельных модулях даются "особенности промышленных систем". Это может быть что угодно: от языков до сред. В этом смысле возможность перейти на VS Code с тем же языком методически полезна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Понедельник, 24 Декабрь, 2018 06:09 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 306
Откуда: Украина, Днепропетровская обл.
Валерий Лаптев писал(а):
Каким-то образом вырезать компилятор КП из ББ
Дык Romiras же уже решал эту задачку. Или забыли?



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Понедельник, 24 Декабрь, 2018 08:09 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1113
Откуда: СССР v2.0 rc 1
Рома, кросаучег.
В правильном направлении двигался. Вот только версия ББ там уже сильно устарела. Если опять возьмётся -- цены ему не будет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Понедельник, 24 Декабрь, 2018 09:13 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3061
Откуда: Астрахань
Скачал-посмотрел.
Версия тут део десятое.
Гораздо важнее то, что компилятор создает инфраструктуру папок ББ.
А интерпретатор где?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Понедельник, 24 Декабрь, 2018 09:39 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1113
Откуда: СССР v2.0 rc 1
Хм. Рома сделал "КП = ББ - ГПИ".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Понедельник, 24 Декабрь, 2018 10:58 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
Info21 писал(а):
12-13-леткам VS Code не особо предложишь.

Предполагается, что после базового курса на ББ в отдельных модулях даются "особенности промышленных систем". Это может быть что угодно: от языков до сред. В этом смысле возможность перейти на VS Code с тем же языком методически полезна.

Ну тут шла речь о студентах, а не о 12-летках, т.е. не факт, что для всех подойдёт, а я вообще это начал делать для себя, т.к. нельзя было обойтись без поиска по файлам с заменой. Касаемо конкретно VS Code - это среда неплохая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Суббота, 09 Февраль, 2019 00:28 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2309
Откуда: Россия, Томск
budden писал(а):
нельзя было обойтись без поиска по файлам с заменой. Касаемо конкретно VS Code - это среда неплохая.

Почему бы не Emacs?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Суббота, 09 Февраль, 2019 13:10 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 509
Ненавижу Emacs


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: блекбокс и Visual Studio Code
СообщениеДобавлено: Воскресенье, 21 Апрель, 2019 03:49 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2309
Откуда: Россия, Томск
budden писал(а):
Ненавижу Emacs

Тогда вам точно понравится Spacemacs!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB