lens icon indicating copy to clipboard operation
lens copied to clipboard

Поддержка Visual Studio

Open ForNeVeR opened this issue 11 years ago • 3 comments

Пожалуй, было бы интересно реализовать поддержку в VS проектов на lens. Из фич будут полезны подсветка кода, автодополнение, отладка, ну и, разумеется, сборка проекта прямо из VS. Это может потребовать выделения парсера и лексера в качестве переиспользуемых компонентов, добавления отладочной информации на этапе компиляции, ну и прочих интеграционных изменений.

ForNeVeR avatar May 16 '13 01:05 ForNeVeR

Да, это было бы реально круто!

С подсветкой не вижу никаких проблем, раз у нас есть список ключевых слов и лексем. По поводу отладки - полагаю, достаточно генерировать .pdb - файл. Если я не ошибаюсь, существует класс PDBWriter, но я не пробовал его использовать. А вот самое сложное - это, конечно, автодополнение. С ним навскидку даже не представляю, как быть. Возможно, нам понадобятся соратники.

Кстати, интересный вопрос по поводу того, как запускать код на LENS? Или при работе в Visual Studio он будет собираться в виде Console App, а не Class Library?

impworks avatar May 16 '13 05:05 impworks

Как минимум можно посмотреть как все это было проделано для языка SpecSharp - его пилили в стенах Microsoft и все исходники включая интеграцию в VS доступны тут.

Думаю стоит сделать как и с C# - позволить создавать как Class Library так и Console App с соответствующими ограничениями.

igofed avatar Jun 28 '13 22:06 igofed

На данный момент так и сделано. В LensCompilerOptions есть флаги AllowSave, который запрещает импорт сущностей из программы-хоста, и SaveAsExe, который добавляет в сборку точку входа и помечает ее как Console Application.

impworks avatar Jun 29 '13 07:06 impworks