IntelliSense
|
IntelliSense™ is a feature introduced and popularized by the Microsoft Visual Studio Integrated Development Environment. It involves a form of autocomplete for variable names, functions and member functions (for C++ classes).
Overview
Using IntelliSense is a convenient way to access descriptions of functions, particularly their parameter lists. It allows significantly faster software development by easing the amount of keyboard input required. It also allows less reference to external documentation as documentation on many functions appears with the function name.
The feature works by accessing an automatically genereated database of classes and variable names. As the user begins typing a variable or function name (which the IDE determines by context), IntelliSense starts suggesting completions with a pop-up window containing a variable or function name. The user can either accept the suggestion by pressing <Enter> or continue typing the name. Eventually IntelliSense will determine exactly which variable or function the user desires, given enough information. The feature also allows the user to select from a number of overloaded functions for object oriented programming. IntelliSense can also display a short description of a function in the pop-up window (this feature depends on the amount of documentation contained in the source code).
This feature is included in all the latest versions of Visual Studio. The most advanced version of IntelliSense appears when developing in C# in Visual Studio. However, IntelliSense supports HTML, C++, Visual Basic and many other markup and computer languages.
Originating with Microsoft, the idea has been widely replicated in many other source code editors.
Example
Let's assume a user has a class Foo with some member functions, thus:
class Foo { public: void Bar(); void FooBar( char character, int repeat ); };
When the user uses this class in source code, e.g.:
Foo *pFoo = new Foo(); pFoo->
as soon as the user types the >, IntelliSense automatically lists all the available member functions (i.e. Bar() and FooBar()). The user can then select one by using the arrow keys and hitting enter when the correct member function appears. Or the user can simply ignore IntelliSense and type the complete function name themselves. When given, IntelliSense displays a short description of the member function as given in the source code.
IntelliSense goes further by indicating the required parameters in another pop-up window as the user fills in the parameters. As the user types a variable name, the feature also makes suggestions to complete the variable as they type it. Though it sounds like it could be confusing, Microsoft has carefully tuned this feature so it is unobtrusive and easy to use. IntelliSense continues to show parameters, highlighting the pertinent one, as the user types.
Occasionally IntelliSense doesn't suggest completion for variables and functions. When this happens, the user can "force" completion by IntelliSense by using <Ctrl>+<space>.
External link
- An overview of IntelliSense from MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vcovrautomaticstatementcompletion.asp)