Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Поддержка Visual Studio #99

Open
ForNeVeR opened this issue May 16, 2013 · 3 comments
Open

Поддержка Visual Studio #99

ForNeVeR opened this issue May 16, 2013 · 3 comments
Assignees
Milestone

Comments

@ForNeVeR
Copy link
Collaborator

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

@ghost ghost assigned ForNeVeR May 16, 2013
@impworks
Copy link
Owner

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

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

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

@igofed
Copy link

igofed commented Jun 28, 2013

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

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

@impworks
Copy link
Owner

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

@impworks impworks added this to the Backlog milestone Jun 19, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants