You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Пожалуй, было бы интересно реализовать поддержку в VS проектов на lens. Из фич будут полезны подсветка кода, автодополнение, отладка, ну и, разумеется, сборка проекта прямо из VS. Это может потребовать выделения парсера и лексера в качестве переиспользуемых компонентов, добавления отладочной информации на этапе компиляции, ну и прочих интеграционных изменений.
The text was updated successfully, but these errors were encountered:
С подсветкой не вижу никаких проблем, раз у нас есть список ключевых слов и лексем.
По поводу отладки - полагаю, достаточно генерировать .pdb - файл. Если я не ошибаюсь, существует класс PDBWriter, но я не пробовал его использовать.
А вот самое сложное - это, конечно, автодополнение. С ним навскидку даже не представляю, как быть. Возможно, нам понадобятся соратники.
Кстати, интересный вопрос по поводу того, как запускать код на LENS? Или при работе в Visual Studio он будет собираться в виде Console App, а не Class Library?
Как минимум можно посмотреть как все это было проделано для языка SpecSharp - его пилили в стенах Microsoft и все исходники включая интеграцию в VS доступны тут.
Думаю стоит сделать как и с C# - позволить создавать как Class Library так и Console App с соответствующими ограничениями.
На данный момент так и сделано. В LensCompilerOptions есть флаги AllowSave, который запрещает импорт сущностей из программы-хоста, и SaveAsExe, который добавляет в сборку точку входа и помечает ее как Console Application.
Пожалуй, было бы интересно реализовать поддержку в VS проектов на lens. Из фич будут полезны подсветка кода, автодополнение, отладка, ну и, разумеется, сборка проекта прямо из VS. Это может потребовать выделения парсера и лексера в качестве переиспользуемых компонентов, добавления отладочной информации на этапе компиляции, ну и прочих интеграционных изменений.
The text was updated successfully, but these errors were encountered: