- PVSM.RU - https://www.pvsm.ru -
После моей первой публикации [1] прошло два месяца. После него, я немного сменил приоритет на одну задачу. А именно реализация дебаггера, хотя бы для Mono .NET
Как я написал выше — я решил реализовать поддержку дебагера для Mono .NET. Как я уже говорил в комментах, Mono имеет Soft Debugger, который использует протокол подобный Java (JWDP). В итоге появилась библиотека [2]на Java, для Mono дебагинга.
Пару скринов:
Также можно увидить в тестовом видео здесь [3]
Во время паузы можно изменять значения для примитивных типов, и строк.
Из известных мне недоработок — не работает Watchers, так как они базируются на Evaluate Expressions, а это доволи обьемная задача, которую пока я отложил на полку
Microsoft .NET дебагер, также имеет низкий приоритет, нету пока у меня времени писать оболочку(Не хочется юзать command line debugger, ибо это нужно будет писать отдельную реализация для дебагера, я планирую реализовать mono дебагер к Microsoft .NET). Если есть желающие — пишите на почту.
Добавлена поддержка Mono Docs, которые хранятся в доволи специфичном формате.
За это время много чего было реализовано.
* Lambda expressions, теперь обрабатываются, и их параметры имеют корректный тип.
* Method extensions. Была поправлена декомпиляция методов, для правильного определения this модификатора. Также был сделан поиск этих же методов
* Корректная поддержка версии шарпа. Сейчас уже подсвечивается выражения которые не поддерживаются версией языка, который вы поставили в настройках
* Multi-dimenstion arrays
* Поддержка Partial типов
* Бинарые операции терь возращают корректный тип
Этот раздел — касатся разных задач, которые косвенно касаются .NET/C# плагинов.
* Сделана поддержка NUnit, но пока она далеко до идеала, нужно больше времени уделить ей
* Сделана начальная поддержка импорта проектов Visual Studio
* Есть начальная реализация для IKVM
Поддерживается статичная и динамичная компиляция для Microsoft .NET. Для Mono .NET поддерживатся только динамический запуск. Статичная компиляция сломана у оффициальных билдов Mono
Текущий статус — альфа. Пока что не годится для работы в production. Ещё много багов — которые правятся и создаются каждый день. Продолждать работать я буду, неизвестно пока с какой силой, так как я могу сменить место жительства, и это будет мешать. Желающие помочь — было бы хорошо.
Я хочу ответить на пару вопросов, которые мне задали раньше.
Переноса на .NET платформу(через IKVM) — не будет. Главная причина, это смена шила на мыло. А вторая это то что даже автор IKVM, не поддерживает Mono.
Перенос на IntelliJ платформу, также не будет. Причины есть, которые я не хочу тут писать, во избежания флейма. Одна из них, я не люблю тучу IDE на компе. Кто захочет — может перенести. Но я знаю — это практически не возможно(много времени уйдет на перенос).
Спасибо за внимание.
* Основной репозиторий [4]
* Репозиторий плагина .NET / C# [5]
* Night Builds(плагин устанавливается через интерфейс — Microsoft .NET или Mono .NET):
— Windows [6]
— Mac [7]
— Linux [8]
Автор: VISTALL
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/59971
Ссылки в тексте:
[1] публикации: http://habrahabr.ru/post/215203/
[2] библиотека : https://github.com/consulo/mono-soft-debugging
[3] здесь: https://www.youtube.com/watch?v=QVTMlE-ua8E
[4] Основной репозиторий: https://github.com/consulo/consulo
[5] Репозиторий плагина .NET / C#: https://github.com/consulo/consulo-dotnet
[6] Windows : http://must-be.org/vulcan/site/consulo/out/artifacts/dist/consulo-win.zip
[7] Mac: http://must-be.org/vulcan/site/consulo/out/artifacts/dist/consulo-mac.zip
[8] Linux: http://must-be.org/vulcan/site/consulo/out/artifacts/dist/consulo-linux.zip
[9] Источник: http://habrahabr.ru/post/221669/
Нажмите здесь для печати.