Concept

Intelligent code completion

Summary
Intelligent code completion is a context-aware code completion feature in some programming environments that speeds up the process of coding applications by reducing typos and other common mistakes. Attempts at this are usually done through auto-completion popups while typing, querying parameters of functions, and query hints related to syntax errors. Intelligent code completion and related tools serve as documentation and disambiguation for variable names, functions, and methods, using reflection. The feature appears in many programming environments. Implementations include "autocomplete +" in Atom, and IntelliSense in Visual Studio Code. The term was originally popularized as "picklist" and some implementations still refer to it as such. Intelligent code completion, which is similar to other autocompletion systems, is a convenient way to access descriptions of functions—and in particular their parameter lists. The feature speeds up software development by reducing keyboard input and the necessity for name memorization. It also allows for users to refer less frequently to external documentation, as interactive documentation on many symbols (i.e. variables and functions) in the active scope appears dynamically in the form of tooltips. Intelligent code completion uses an automatically generated in-memory database of classes, variable names, and other constructs that given computer code defines or references. The "classic" implementation of IntelliSense works by detecting marker characters such as periods (or other separator characters, depending on the language). When the user types one of these characters immediately after the name of an entity having one or more accessible members (such as contained variables or functions), IntelliSense suggests matches in a pop-up dialog. The user can either accept the suggestion by typing a statement-completion character ( or ) or a language-specific marker (such as the semicolon for C++), or continue typing the name. Over time, IntelliSense determines which variable or function the user most likely needs.
About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.