IntelliSense


IntelliSense — технология автодополнения Microsoft, наиболее известная в Microsoft Visual Studio. Дописывает название функции при вводе начальных букв. Кроме прямого назначения, IntelliSense используется для доступа к документации и для устранения неоднозначности в именах переменных, функций и методов, используя рефлексию.

Как и другие системы автодополнения, IntelliSense является удобным способом просмотреть описания функций, в том числе списки их аргументов. Она ускоряет разработку ПО, уменьшая количество имён и параметров, которые программист должен держать в памяти. Кроме того, она уменьшает количество необходимых запросов к документации, выводя часть документации в виде всплывающих окон в редакторе кода. В ходе работы IntelliSense формирует в памяти базу данных, содержащую метаданные классов, переменных и иных конструкций, которые используются в разрабатываемом приложении. «Классическая» реализация IntelliSense работает, находя в коде специальные маркеры, такие как символ точки. Как только пользователь вводит один из таких маркеров после имени сущности, содержащей один или несколько доступных членов (таких как переменные или методы), IntelliSense показывает пользователю всплывающее окно со списком подходящих членов.

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

IntelliSense первый раз появилась в Visual Basic 5.0 Control Creation Edition в 1996 году, который являлся публично доступным прототипом Visual Basic 5.0. Помимо начального тестирования в среде программирования Visual Basic, IntelliSense быстро включили в Visual FoxPro и Visual C++ в Visual Studio 97. Поскольку версия для Visual Basic использовала возможности COM, она была более продвинутой, чем версия для Visual C++, так как последняя не была полностью основана на COM. Эти недостатки были исправлены после появления платформы .NET Framework, которая предоставляет мощную систему метаданных.