In web browsers, autocomplete is done in the address bar (using items from the browser's history) and in text boxes on frequently used pages, such as a search engine's search box. Autocomplete for web addresses is particularly convenient because the full addresses are often long and difficult to type correctly.
In email programs autocomplete is typically used to fill in the email addresses of the intended recipients. Generally, there are a small number of frequently used email addresses, hence it is relatively easy to use autocomplete to select between them. Like web addresses, email addresses are often long, hence typing them completely is inconvenient.
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 know exactly what members a particular class has. Therefore, autocomplete then serves 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. Typing large words with many mixed cases like "numberOfWordsPerParagraph" can be difficult, but Autocomplete allows you to complete typing the word using a fraction of the keystrokes.
Auto completion in Query tools allows you to auto complete the table names in an SQL statement and column names of the tables referenced in the SQL statement. As you type in the editor, the context of the cursor within the SQL statement provides an indication of whether the user needs a table completion or a table column completion. The table completion provides a list of tables available in the database server the user is connected to. The column completion provides a list of columns for only tables referenced in the SQL statement. Aqua Data Studio is one such application that provides autocomplete in query tools.
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.
In a command line interpreter, such as Unix's sh or bash or Windows's cmd.exe or PowerShell, or in similar command line 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.
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".