В данном обзоре я хочу рассказать вам о новых возможностях третьей бета версии DevelNext 2016. Самая главная фича, на которую было потрачено очень много часов разработки и проектирования это новая система авто-дополнения и подсказок для редактора кода php.
Перед началом, я немного расскажу о том, как оно работало раньше. Авто-дополнение в DevelNext долгое время было примитивным и довольно топорным, оно работало для редких случаев и вся мета-база классов и функций была практически заполнена вручную. Это объясняет то, почему среда не умела автодополнять сторонние классы из проекта. Старая мета-база содержала около 20{c2772e7edaf3afb29fd545cc58741f0353776d303fccfe25704135a597231828} от всего объема кодовой базы фреймворка, к тому же не имела комментариев и дополнительных подсказок.
А теперь перейдем к тому, что было реализовано в нашей бете:
Авто-импорт use выражений
Наверно все знают, что для подключения класса в DevelNext и вообще в PHP необходимо прописывать use-импорты. Это довольно утомительный процесс, надо запоминать полное название класса, возвращать постоянно в начало кода. Теперь эта проблема решена, среда научилась сама проставлять use импорты для выбранных классов во время написания кода! Как это выглядит? Посмотрите на это ниже и все поймете:
Определение типов переменных
Наша среда научилась определять типы переменных и авто-дополнять их. Если вы присвоите переменной какое-то выражение, для которого среда может просчитать тип, то она будет вам помогать и автодополнять эту переменную. Посмотрите ниже, как это выглядит:
Умный поиск
При написании любого кода, среда теперь более умно подходит к поиску подходящих вариантов для дополнения! DevelNext теперь осуществляет умную сортировку подходящих вариантов и к тому же ищет теперь по вхождению искомой строки в строке, а не так как раньше! Например, при наборе выражения “th”, среда предполагает, что это может быть переменная $this, как это выглядит, смотрите ниже.
Дополнительные подсказки
Появились подробные подсказки (на желтом фоне) для каждого варианта дополнения кода, в которых отображается дополнительный комментарий и общую информацию. Для многих вариантов есть комментарий на русском языке, для некоторых на английском.
Поддержка phpDoc
Многие программисты php знакомы с технологией phpDoc. Она предполагает то, что программист будет в комментариях к функциям, методам, классам и свойствам декларировать типы и дополнительное описание, благодаря которому среда поймет, как нужно дополнять это все в коде. Поддерживаются @var для свойств и просто в коде с указанием типа переменной и переменной, а также @param, @return для методов, любые комментарии к методам и функциям будут отображаться в подсказках, даже если они были объявлены самим программистом в проекте.
Динамичная мета-база
Вы также заметите, что в авто-дополнении появилось очень много новых методов, классов и функций, которых раньше не было. Это стало возможным благодаря тому, что DevelNext начал сканировать все исходники проекта, jar библиотеки на предмет содержания в них классов и функций, он парсит все это и выстраивает в памяти мета-базу всего, что нашел в исходниках. Затем вся собранная информация используется для авто-дополнения. Теперь достаточно писать php код, а среда сама поймет что в нем написано, дополнит и подскажет!
Это сработает даже для классов и функций, которые находятся в файлах в папке проекта (src).
После статьи про скрытые возможности DevelNext, многим стал интересен специальный класс Environment, который позволяет создавать изолированные или частично изолированные окружения…
Таймеры штука интересная и очень полезная в разработке. Если вы работали только с серверным php, то скорее всего, таймеры вам…
Возможно, писать о себе в третьем лице не очень хорошо, но лучше заголовка для этой статьи я не придумал. Сегодня…
Итак, в этой статье мы расскажем о 7 скрытых возможностях DevelNext. 1. Копирование компонентов в txt Вы когда-нибудь пробовали скопировать…
Представляем вам осеннюю версию DevelNext 16.7.0, с поддержкой возможностей из PHP 7, менеджером скинов и новыми компонентами в стиле Material…
Сегодня у нас отличные новости, встречайте новый летний DevelNext 16.6.0! Мы постарались сделать его еще более дружелюбным для новичков, постарались…