Autocomplete

From Wikipedia, the free encyclopedia

Autocomplete is a feature provided by many source code text editors, word processors, and web browsers. Autocomplete involves the program predicting a word or phrase that the user wants to type in without the user actually typing it in completely. The approach can generally be used effectively in those cases where it is relatively easy to predict the new words being input based on those already input because of a limited number of possible words (small lexicon) characteristic of email programs, browsers, or operating system shells, as well as potentially because of the highly structured, easy to predict language, such as in source code editors. Autocomplete usually speeds up and makes more convenient computer interactions, at least in those environments to which it is well suited.

Contents

[edit] In web browsers

In web browsers this is done in the address bar and in some text boxes on commonly used pages, such as the Google's search box. Autocomplete for web addresses is particularly convenient because the complete addresses are often quite long and difficult to type in correctly.

[edit] In email programs

In email programs autocomplete is typically used to fill in the email addresses of the intended recipients. Generally, there are not that many email addresses to which a user would normally write letters, hence it is relatively easy to use autocomplete to select between them. In addition, often email addresses are relatively long, hence typing them in completely is not convenient.

For instance, Microsoft Outlook Express will find addresses based on the name that is used in the address book. Google's Gmail will find addresses by any string that occurs in the address or stored name.

[edit] In source code editors

Autocomplete of source code is also known as "code completion". In a source code editor autocomplete is greatly simplified by the regular structure of the programming languages. There are usually only a limited number of words meaningful in the current context or namespace, such as names of variables and functions. Autocomplete naturally comes in very handy. A particularly well-known and useful kind of autocomplete in source code editors is based on Microsoft's IntelliSense design. It involves showing a pop-up list of possible completions for the currently input prefix to allow the user to choose the right one. This is particularly useful in object-oriented programming because often the programmer will not even know well enough what members a particular class has. Therefore, autocomplete and IntelliSense then serve as a form of convenient documentation as well as an input method. Another beneficial feature of autocomplete for source code is that it encourages the programmers to use longer, more descriptive variable names incorporating both lower and upper case letters, hence making the source code more readable. Autocomplete allows to input such longer names without much extra effort, whereas typing them completely may be difficult and less accurate for many typists, especially in the case of mixed case words like "numberOfWordsPerParagraph".

[edit] In word processors

In many word processing programs autocompletion decreases the amount of time spent typing repetitive words and phrases. The source material for autocompletion is either gathered from the rest of the current document or from a list of common words defined by the user. Currently OpenOffice.org, StarOffice, Microsoft Office, and KOffice include support for this kind of autocompletion, as do advanced text editors such as Emacs and Vim.

[edit] In operating system shells

In an operating system shell, such as Unix's sh or bash or Windows's cmd.exe, or in similar command driven interfaces autocomplete of command names and file names may be accomplished by keeping track of all the possible names of things the user may access. Here autocomplete is usually done by pressing Tab key after typing the first several letters of the word. For example, if the only file in the current directory that starts with x is xLongFileName, the user may prefer to type x and autocomplete to the complete name. If there were another file name or command starting with x in the same scope, usually the user would have to type some more letters or press the Tab key repeatedly to disambiguate what he or she means to the computer.

[edit] Similar tools

Autoreplace is a somewhat related feature that involves automatic replacement of a particular string with another one, usually one that is longer and harder to type, as "myname" with "Lee John Nikolai François Al Rahman". This can also quietly fix simple typing errors, such as turning "teh" into "the".

[edit] External links

[edit] Implementations

In other languages