Autocompletion

Autocompletion
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:

  • Autocomplétion — Complètement Le complètement ou complètement automatique, ou encore par anglicisme complétion ou autocomplétion, est une fonctionnalité informatique permettant à l utilisateur de limiter la quantité d informations qu il saisit avec son clavier,… …   Wikipédia en Français

  • autocompletion — noun A software feature permitting form fields, etc., to be autocompleted …   Wiktionary

  • autocompletion — n. act of finishing independently, process of being completed by itself …   English contemporary dictionary

  • 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

  • Comparison of TeX editors — This page shows a table contrasting the features of the text editors that interface to TeX (or LaTeX or its other incarnations). Table of editor properties Properties of TeX editors Editing style[1] Native operating systems[2] …   Wikipedia

  • Quanta Plus — Infobox Software name = Quanta Plus caption = Quanta Plus 3.3.0 developer = The Quanta Team latest release version = 3.5.9 latest release date = Feb 20, 2008 operating system = Unix like genre = HTML editor license = GPL website =… …   Wikipedia

  • IntelliSense — is Microsoft s implementation of autocompletion, best known for its use in the Microsoft Visual Studio integrated development environment. In addition to completing the symbol names the programmer is typing, IntelliSense serves as documentation… …   Wikipedia

  • Adaptonym — Saisie intuitive La saisie ou frappe intuitive ou prédictive (de l anglais predictive text), appelée aussi le dictionnaire, est une technologie conçue afin de simplifier la saisie de texte sur les claviers téléphoniques. Initialement brevetée aux …   Wikipédia en Français

  • Cellodrome — Saisie intuitive La saisie ou frappe intuitive ou prédictive (de l anglais predictive text), appelée aussi le dictionnaire, est une technologie conçue afin de simplifier la saisie de texte sur les claviers téléphoniques. Initialement brevetée aux …   Wikipédia en Français

  • Frappe intuitive — Saisie intuitive La saisie ou frappe intuitive ou prédictive (de l anglais predictive text), appelée aussi le dictionnaire, est une technologie conçue afin de simplifier la saisie de texte sur les claviers téléphoniques. Initialement brevetée aux …   Wikipédia en Français

Share the article and excerpts

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