Autocomplete

Autocomplete
Autovervollständigen beim Editieren einer PHP-Datei unter Dreamweaver

Autovervollständigen ist eine Funktion, die eine Benutzereingabe sinnvoll ergänzt. Grundlage für die Vervollständigung ist in jedem Fall ein begrenzter Pool an Möglichkeiten, der sich äquivalent zum Fortschritt und ggf. Semantik der Benutzereingabe verkleinert. Sie wird von vielen Editoren und IDEs zur Verfügung gestellt. Es gibt verschiedene Möglichkeiten der Realisierung:

  • Durch eine Dropdown-Liste,
  • durch das Anzeigen eines möglichen Textes,
  • durch das sofortige Einsetzen eines Vorlagen-Textes

Beispiele dafür sind Verfahren wie Text on 9 keys (T9) beim Schreiben von SMS-Nachrichten oder Input Method Editoren, Schnellwahlen im Adressbuch, Ergänzungen von früheren Eingaben (etwa in Suchleisten), Autovervollständigen in Office-Produkten, wo es je nach Programm u. a. Datumsangaben oder Wörter vervollständigt, oder Befehlsergänzung über ein Command Line Interface, wie es bei einigen Betriebssystemen der Fall ist.

In IDEs unterstützt eine syntaktische und semantische Überprüfung des schon eingegebenen Quelltexte den Programmierer mit einer Liste von Vorschlägen zur Autovervollständigung. Diese Liste an Quelltextvorschlägen umfasst zum Beispiel zuvor deklarierte Variablen, in dem Programmkontext erreichbare Methoden, Funktionen und Objekte bis zu umfangreichen Vorlagen von häufig verwendeten Codestücken (Templates).

Inhaltsverzeichnis

Autovervollständigen von Vorlagen

Insbesondere das Einfügen von Templates wird in aktuellen IDEs immer ausgefeilter.

NetBeans

Zum Beispiel bietet NetBeans eine kleine Template-Makro-Sprache, um komfortable Eingabemöglichkeiten zu bieten:

 for (Iterator ${it} = ${collection instanceof="java.util.Collection"}.iterator(); ${it}.hasNext();) {
   ${Object} ${elem} = (${Object}) ${it}.next();
   ${cursor}
 }

Das obige Beispiel mit dem Kürzel forc verknüpft, erzeugt bei Eingabe von f, o, r, c und Leertaste folgende Ausgabe in den Quelltext:

 for (Iterator it = collection.iterator (); it.hasNext ();) {
   Object elem = (Object) it.next ();
   
 }

Dabei wird der Variablenname it markiert und alle weitere Vorkommen von it blau hervorgehoben. Nun kann der Name it durch einen passenden Variablennamen (durch einfaches eintippen) ersetzt werden. Automatisch werden alle Vorkommen von it im Template mit demselben eingetippten Namen ersetzt. Mit der Tabulatortaste springt die Markierung zu collection. Der Programmierer kann den Namen des Objektes ändern und springt dann wiederum per Tabulator-Taste zu dem mit ${Object} gekennzeichneten Abschnitt. Bei der Änderung dieses Klassennames ändern sich natürlich wieder alle blau markierten ${Object} Platzhalter. Mit dem nächsten Tab-Sprung kann man den Platzhalter ${elem} ändern. Die letzte Eingabe mittels der Tabulator-Taste springt dann endgültig zu dem Platzhalter ${Cursor}.

NetBeans unterstützt den Programmierer sogar so weit, dass das nächst passende Collection-Objekt als Variablenname übernommen wird. Wurde also zuvor eine Liste deklariert:

 List testListe = new ArrayList();

dann übernimmt die Vorlage forc auch den Variablennamen testListe für den Platzhalter ${collection instanceof="java.util.Collection"}, weil testListe vom Typ List ist und List vom Typ java.util.Collection. Solche Rückblicke auf Programmiersprachenebene ermöglicht der integrierte Lexer der IDE.

Eclipse

Ähnlich komfortable Template-Eingaben, die den Kontext und die Semantik der zu bearbeitenden Programmiersprache berücksichtigen, findet man zum Beispiel in Eclipse. Der Aufbau der Makrosprache entspricht der von NetBeans. Allerdings gibt es noch zusätzliche Platzhalter, die automatisch gefüllt werden. Zum Beispiel ${date} für das aktuelle Datum sowie ${time} für die aktuelle Uhrzeit. ${enclosing_method} für den Methodenname, in der das Template eingefügt wird oder ${user} für den aktuell angemeldeten Programmierer.

Microsoft Visual Studio .NET

Auch die aktuellen Versionen von Visual Studio .NET bieten Autovervollständigen mit Vorlagen an. Deren Definition erfolgt mittels XML.


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Autocomplete — is a feature provided by many web browsers, e mail programs, search engine interfaces, source code editors, database query tools, word processors, and command line interpreters. Autocomplete involves the program predicting a word or phrase that… …   Wikipedia

  • Autocomplete —   [dt. »selbstständiges Fertigstellen«], Bezeichnung für eine Funktion in einigen neueren Anwendungsprogrammen, die dem Benutzer beim Eintippen eines Worts nach der Eingabe der ersten Buchstaben vorschlägt, wie das Wort vervollständigt werden… …   Universal-Lexikon

  • autocomplete — automatinis baigimas statusas T sritis informatika apibrėžtis Programos savybė automatiškai baigti renkamo teksto fragmentą pasinaudojant prieš tai surinktais ir įsimintais tekstais. Kai surinktoji teksto dalis sutampa su kurios nors įsimintos… …   Enciklopedinis kompiuterijos žodynas

  • autocomplete — verb To complete automatically. See Also: autocompletion …   Wiktionary

  • autocomplete — …   Useful english dictionary

  • Comparison of integrated development environments — Main article: Integrated development environment The following tables list notable software packages that are nominal IDEs; standalone tools such as source code editors and GUI builders are not included. Contents 1 ActionScript 2 Ada 3 Basic …   Wikipedia

  • Comparison of JavaScript frameworks — Contents 1 Comparison of JavaScript frameworks 1.1 Rationale 1.2 Table of Javascript Frameworks 2 See also …   Wikipedia

  • Autoreplace — or AutoCorrect is a feature in some text editors, word processors and other programs that accept user input via keyboard. It involves automatic replacement of a particular string with another one, usually one that is longer and harder to type, as …   Wikipedia

  • Internet Explorer 8 — Windows Internet Explorer 8 A component of Microsoft Windows Internet Explorer 8 in Windows 7 …   Wikipedia

  • Command line completion — is a common feature of command line interpreters, in which the program automatically fills in partially typed tokens. Depending on the specific interpreter and its configuration, these elements may include commands, arguments, environment… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”