Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiIDEНовости

Новое в Delphi Code Insight в версии 10.4.1

Delphi 10.4.1 — это релиз, ориентированный на качество, и это также касается автозавершения кода! Мы не только помогаем вам имитировать классическое завершение кода, но и исправили и доработали многие элементы.

Когда была выпущена RAD Studio 10.4, мы переработали Code Insight. Хотя старый («классический») код все еще доступен в качестве параметра, по умолчанию Delphi теперь использует асинхронную неблокирующую технологию для завершения кода и связанных функций. Это означает, что среда IDE не должна останавливаться при вводе текста, и вы можете использовать автозавершение кода во время отладки, а также многие другие преимущества (например, результаты поиска). Вы можете узнать больше о технологии здесь.

В 10.4.1 мы сосредоточились на полировке понимания кода. Поскольку 10.4.1 является качественным выпуском, в нем очень мало новых функций — есть некоторые новые настройки! — но большая часть работы заключается в устранении ошибок и настройке поведения. Вот некоторые вещи, о которых вы, возможно, захотите узнать: новые настройки, ключевые исправления и некоторые специальные примечания для очень больших проектов.

Новые настройки автозавершения кода

Подчеркивание совпадений

Автозавершение нового кода 10.4 показывает больше результатов, чем старое классическое автозавершение, так как также перечисляются элементы, которые не только начинаются с того, что вы набрали (текст «фильтр»), но и содержат то, что вы ввели. (В 10.4.1 есть настройка, включающая эти дополнительные элементы: см. Ниже.)

Это полезно, поскольку позволяет просматривать список завершения и выполнять поиск по нему путем ввода. Иногда бывает трудно понять, почему конкретный результат включен в список, поэтому в 10.4.1 соответствующая часть символа теперь подчеркнута.

Show a code completion item where the typed text is in the middle of the symbol name ie might not be obvious at first glance why it's included in the list
Вызов автозавершения кода в 10.4.1 с настройками по умолчанию показывает соответствующий текст фильтра подчеркнут

На этом снимке экрана вы можете видеть, что ScaleFactor был включен, потому что он содержит act.

Вы можете отключить подчеркивание в диалоговом окне «Параметры» — информацию о новых настройках см. В следующем разделе.

Получение классического поведения завершения кода

По умолчанию завершение нового кода не полностью копирует старое классическое поведение завершения кода. Он показывает больше результатов и использует другой алгоритм для автоматического выбора лучшего элемента в списке.

В 10.4.1 мы добавили четыре настройки, которые в совокупности позволяют вам получить точно такое же поведение, что и классическое завершение. Все четыре находятся на новой вкладке Insight Options на странице UI> Editor> Source в диалоговом окне Options.

IDE Options dialog showing four new settings on the new'Insight Options' page
Четыре новых параметра автозавершения кода

«Текст фильтра подчеркнут» управляет новой функцией, подчеркивающей соответствие, как указано выше.

Чтобы имитировать классическое завершение кода, вы можете изменить настройки следующим образом:

  • ‘Сначала перечислить все символы, начинающиеся с фильтра’: on
  • ‘Выбрать самый короткий совпадающий символ’: выключено (вместо этого выбирается самый близкий по объему)
  • «Текст фильтра подчеркнут»: выкл.
  • ‘Показывать символы, содержащие фильтр’: выключено (хотя мы рекомендуем оставить его включенным; это добавляет больше полезных результатов)

Ключевые исправления качества

На странице 10.4.1 Что нового перечислено множество исправлений, и я рекомендую вам прочитать этот список. Однако некоторые из них, на которые стоит обратить особое внимание, включают:

Улучшено использование памяти и производительность. Языковой сервер должен использовать меньше памяти, и он должен быть быстрее
Некоторые улучшения предназначены специально для очень крупных проектов (спасибо нашим бета-тестерам)
Пакеты очень сильно улучшены — в документации есть несколько пунктов
Error Insight («красные волнистые линии») иногда обновлялся с задержкой после устранения ошибки, а иногда длина красной волнистой линии была неправильной; оба исправлены
Исправлены проблемы, из-за которых всплывающая подсказка / справка не всегда отображала полную информацию.
Множество других исправлений — я действительно рекомендую вам прочитать «Что нового», это длинный список изменений только в Code Insight.

Очень большие проекты

Выше отмечены некоторые изменения для очень больших проектов. Вот цитата одного из наших клиентов о версии 10.4.1, которой они любезно разрешили мне поделиться:

Поздравляем команду LSP!

Теперь мне удалось открыть и запустить наше флагманское приложение на 10.4.1. И — волшебство! — автозавершение кода наконец-то заработало в нашем основном модуле, поддерживающем IFDEF. Я думаю, что последний раз, когда завершение кода работало, было где-то около D5 раз …

Для работы в первый раз требуется около 15 секунд (вероятно, он передает огромное количество единиц LSP), но после этого использовать это настоящее счастье!

Спасибо!

Это конкретное приложение содержит чуть менее 3 миллионов строк кода. И Code Insight работает в этом месте впервые после Delphi 5.

В каждом выпуске мы продолжаем улучшать Delphi и C ++ Builder. 10.4.1 примечателен тем, что это релиз, ориентированный на качество. Мы будем продолжать улучшать и изменять IDE каждый раз, когда мы выпускаем новую версию, и мы надеемся, что одни только исправления кода, не говоря уже о более чем 800 других исправленных ошибках, сделают 10.4.1 очень полезной версией для установки.

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

IN THE ARTICLES