- PVSM.RU - https://www.pvsm.ru -

Consulo: Code Coverage, Unity3D и прочие изменения

Consulo: Code Coverage, Unity3D и прочие изменения - 1Для тех кто пропустил мои посты:Consulo [1] — это форк IntelliJ IDEA Community Edition, который имеет поддержку .NET(C# на текущий момент, и на этот сектор пока идет большой акцент), Java.

В этой мини-статье я поделюсь с вами с тем, что удалось сделать за последние 2 месяца.

.NET

Code Coverage (with OpenCover)

Начиная с января, появилась поддержка покрытие кода (при помощи OpenCover для Microsoft .NET Фреймворка). Позволяет посмотреть покрытие кода как при обычном запуске приложения, так и для NUnit тестов. Покрытие кода использует OpenCover, который увы не работает на Mono. Насчет Mono Coverage пока неясно. Покрытие кода работает на простейшем уровне, нужны поправки в платформу, которые пока только в планах.
Consulo: Code Coverage, Unity3D и прочие изменения - 2

NUnit with Mono Debugger

Очень давно был добавлены Mono Debugger и поддежка тестов NUnit. Но, из-за бага, запуск NUnit под Mono был невозможен. После исправления этого бага, была также добавлена поддержка Mono Debugger во время запуска тестов.
Для Microsoft .NET дебаггера пока нет. Соответственно и отладка тестов пока не работает.
Consulo: Code Coverage, Unity3D и прочие изменения - 3

Unity3D

Message methods

В Unity существуют методы типа Messages, которые, по сути, ничего не перегружают, но при выполнении они вызываются самим движком Unity, через reflection. В то же время, можно случайно переименовать метод, и код спокойно скомпилится, но при этом метод перестанет работать. Чтобы избежать этого, напротив метода была добавлена маркер-«подсветка». При наведении на который, можно увидеть краткое описание.
Consulo: Code Coverage, Unity3D и прочие изменения - 4

Adding methods via completion

Также была реализована поддержка добавления этих методов через completion. Есть возможность добавить два вида методов: parameterless иили полной сигнатурой.
Consulo: Code Coverage, Unity3D и прочие изменения - 5

New Import Mode

Ранее не было поддержки импорта Unity-проектов. По сути мы создавали проект поверх проекта юнити и добавляли все вручную. Также были проблемы с тем, что в проекте были не все необходимые библиотеки. Сейчас же, реализована новая система импорта проектов — гораздо лучше понимает структуру Unity проекта, и проблема с импортом библиотек Unity SDK (или плагинов) решилась. Пока что старый и новый способ «импорта» сосущестуют вместе, но, в ближайшем будущем, старый способ будет удален.

K Runtime(ASP .NET vNext)

Недавно у меня появился интерес к ASP .NET 5 фреймворку, что вылилось в базовую поддержку «K» проектов. Была добавлена поддержка определения SDK рантайма, зависимостей, анализа C# файлов, запуск. Увы, в данный момент, поддержка Nuget очень скромная и приходится хардкодить зависимости чтобы анализ кода прошёл верно. Но, по большей степени, это пока эксперимент. До полноценной поддержи ASP.NET платформы еще далеко и я не думаю им в данный момент всерьез заниматься.
Предвкушая вопросы: Нет, реализация поддержи Razor шаблонов пока не планируются.
Consulo: Code Coverage, Unity3D и прочие изменения - 6

C#

Static Vs Instance

Ранее completion не понимал, где можно использовать Static & Instance методы, и можно было написать аля String.GetHashCode() — и код не подсвечивался ошибкой, но при этом он не компилился.
Сейчас completion верно определяет контекст элемента. Также были добавлены проверки CS0120 & CS0176 которые отвечают за валидацию этих вызовов. Но эти исправления создали интересный баг 208 [2], который пока не исправлен.
Consulo: Code Coverage, Unity3D и прочие изменения - 7

Code Style

В январе был переработана поддержка CodeStyle. Появились много привычных опций в Wrapping & Spacing.
Consulo: Code Coverage, Unity3D и прочие изменения - 8

Expected type system

Теперь completion знает о том какой тип он ожидает, и сортирует нужные элементы повыше. Также эта поправка каcается атрибутов, при вводе текста внутри '[]' все атрибуты идут на начале списка.
Consulo: Code Coverage, Unity3D и прочие изменения - 9

План на будущее

Как бы смешно это не звучало, но я буду продолжить делать то, что делал. Основная проблема сейчас в том, что, на текущий момент, у меня нету по-просту тестеров или людей которые хотят мне помочь либо с кодом, либо с хотя-бы с сайтом. С меня никакой дизайнер и поэтому у меня не получается придумать достойный стиль для сайта или сплеш. Все приходится делать самому и, при этом, успевать ещё как-то работать.

Автор: VISTALL

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/84019

Ссылки в тексте:

[1] Consulo: https://github.com/consulo/consulo

[2] 208: https://github.com/consulo/consulo-csharp/issues/208

[3] Источник: http://habrahabr.ru/post/247829/