IntelliSence
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, яка надає потужну систему метаданих.