В данном обзоре я хочу рассказать вам о новых возможностях третьей бета версии DevelNext 2016. Самая главная фича, на которую было потрачено очень много часов разработки и проектирования это новая система авто-дополнения и подсказок для редактора кода php.
Перед началом, я немного расскажу о том, как оно работало раньше. Авто-дополнение в DevelNext долгое время было примитивным и довольно топорным, оно работало для редких случаев и вся мета-база классов и функций была практически заполнена вручную. Это объясняет то, почему среда не умела автодополнять сторонние классы из проекта. Старая мета-база содержала около 20{c2772e7edaf3afb29fd545cc58741f0353776d303fccfe25704135a597231828} от всего объема кодовой базы фреймворка, к тому же не имела комментариев и дополнительных подсказок.
А теперь перейдем к тому, что было реализовано в нашей бете:
Авто-импорт use выражений
Наверно все знают, что для подключения класса в DevelNext и вообще в PHP необходимо прописывать use-импорты. Это довольно утомительный процесс, надо запоминать полное название класса, возвращать постоянно в начало кода. Теперь эта проблема решена, среда научилась сама проставлять use импорты для выбранных классов во время написания кода! Как это выглядит? Посмотрите на это ниже и все поймете:
Определение типов переменных
Наша среда научилась определять типы переменных и авто-дополнять их. Если вы присвоите переменной какое-то выражение, для которого среда может просчитать тип, то она будет вам помогать и автодополнять эту переменную. Посмотрите ниже, как это выглядит:
Умный поиск
При написании любого кода, среда теперь более умно подходит к поиску подходящих вариантов для дополнения! DevelNext теперь осуществляет умную сортировку подходящих вариантов и к тому же ищет теперь по вхождению искомой строки в строке, а не так как раньше! Например, при наборе выражения “th”, среда предполагает, что это может быть переменная $this, как это выглядит, смотрите ниже.
Дополнительные подсказки
Появились подробные подсказки (на желтом фоне) для каждого варианта дополнения кода, в которых отображается дополнительный комментарий и общую информацию. Для многих вариантов есть комментарий на русском языке, для некоторых на английском.
Поддержка phpDoc
Многие программисты php знакомы с технологией phpDoc. Она предполагает то, что программист будет в комментариях к функциям, методам, классам и свойствам декларировать типы и дополнительное описание, благодаря которому среда поймет, как нужно дополнять это все в коде. Поддерживаются @var для свойств и просто в коде с указанием типа переменной и переменной, а также @param, @return для методов, любые комментарии к методам и функциям будут отображаться в подсказках, даже если они были объявлены самим программистом в проекте.
Динамичная мета-база
Вы также заметите, что в авто-дополнении появилось очень много новых методов, классов и функций, которых раньше не было. Это стало возможным благодаря тому, что DevelNext начал сканировать все исходники проекта, jar библиотеки на предмет содержания в них классов и функций, он парсит все это и выстраивает в памяти мета-базу всего, что нашел в исходниках. Затем вся собранная информация используется для авто-дополнения. Теперь достаточно писать php код, а среда сама поймет что в нем написано, дополнит и подскажет!
Это сработает даже для классов и функций, которые находятся в файлах в папке проекта (src).
Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in…
Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in…
Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in…
Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in…
Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in…
Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in…