Categories: Разное

Обзор новых возможностей DevelNext 2016, Beta 3

В данном обзоре я хочу рассказать вам о новых возможностях третьей бета версии DevelNext 2016. Самая главная фича, на которую было потрачено очень много часов разработки и проектирования это новая система авто-дополнения и подсказок для редактора кода php.

Перед началом, я немного расскажу о том, как оно работало раньше. Авто-дополнение в DevelNext долгое время было примитивным и довольно топорным, оно работало для редких случаев и вся мета-база классов и функций была практически заполнена вручную. Это объясняет то, почему среда не умела автодополнять сторонние классы из проекта. Старая мета-база содержала около 20{c2772e7edaf3afb29fd545cc58741f0353776d303fccfe25704135a597231828} от всего объема кодовой базы фреймворка, к тому же не имела комментариев и дополнительных подсказок.

А теперь перейдем к тому, что было реализовано в нашей бете:

Авто-импорт use выражений

Наверно все знают, что для подключения класса в DevelNext и вообще в PHP необходимо прописывать use-импорты. Это довольно утомительный процесс, надо запоминать полное название класса, возвращать постоянно в начало кода. Теперь эта проблема решена, среда научилась сама проставлять use импорты для выбранных классов во время написания кода! Как это выглядит? Посмотрите на это ниже и все поймете:

Определение типов переменных

Наша среда научилась определять типы переменных и авто-дополнять их. Если вы присвоите переменной какое-то выражение, для которого среда может просчитать тип, то она будет вам помогать и автодополнять эту переменную. Посмотрите ниже, как это выглядит:

Умный поиск

При написании любого кода, среда теперь более умно подходит к поиску подходящих вариантов для дополнения! DevelNext теперь осуществляет умную сортировку подходящих вариантов и к тому же ищет теперь по вхождению искомой строки в строке, а не так как раньше! Например, при наборе выражения “th”, среда предполагает, что это может быть переменная $this, как это выглядит, смотрите ниже.

Дополнительные подсказки

Появились подробные подсказки (на желтом фоне) для каждого варианта дополнения кода, в которых отображается дополнительный комментарий и общую информацию. Для многих вариантов есть комментарий на русском языке, для некоторых на английском.

Поддержка phpDoc

Многие программисты php знакомы с технологией phpDoc. Она предполагает то, что программист будет в комментариях к функциям, методам, классам и свойствам декларировать типы и дополнительное описание, благодаря которому среда поймет, как нужно дополнять это все в коде. Поддерживаются @var для свойств и просто в коде с указанием типа переменной и переменной, а также @param, @return  для методов, любые комментарии к методам и функциям будут отображаться в подсказках, даже если они были объявлены самим программистом в проекте.

Динамичная мета-база

Вы также заметите, что в авто-дополнении появилось очень много новых методов, классов и функций, которых раньше не было. Это стало возможным благодаря тому, что DevelNext начал сканировать все исходники проекта, jar библиотеки на предмет содержания в них классов и функций, он парсит все это и выстраивает в памяти мета-базу всего, что нашел в исходниках. Затем вся собранная информация используется для авто-дополнения. Теперь достаточно писать php код, а среда сама поймет что в нем написано, дополнит и подскажет!

Это сработает даже для классов и функций, которые находятся в файлах в папке проекта (src).

Дмитрий Зайцев

Share
Published by
Дмитрий Зайцев

Recent Posts

Изолированные окружения в JPHP

После статьи про скрытые возможности DevelNext, многим стал интересен специальный класс Environment, который позволяет создавать изолированные или частично изолированные окружения…

7 лет ago

7 способов сделать таймер в DevelNext и JPHP

Таймеры штука интересная и очень полезная в разработке. Если вы работали только с серверным php, то скорее всего, таймеры вам…

7 лет ago

Кто он, автор DevelNext и DevelStudio?

Возможно, писать о себе в третьем лице не очень хорошо, но лучше заголовка для этой статьи я не придумал. Сегодня…

7 лет ago

Топ 7. Скрытые возможности DevelNext

Итак, в этой статье мы расскажем о 7 скрытых возможностях DevelNext. 1. Копирование компонентов в txt Вы когда-нибудь пробовали скопировать…

7 лет ago

Осенний DevelNext 16.7.0 уже доступен!

Представляем вам осеннюю версию DevelNext 16.7.0, с поддержкой возможностей из PHP 7, менеджером скинов и новыми компонентами в стиле Material…

7 лет ago

Встречайте летний DevelNext 16.6.0

Сегодня у нас отличные новости, встречайте новый летний DevelNext 16.6.0! Мы постарались сделать его еще более дружелюбным для новичков, постарались…

7 лет ago