Tja, das Problem mit dem Zeichen
- besonders in der deutschen Sprache. Die Mehrzahl der Menschen verwendet dieses Zeichen für alles, was mit einer waagrechten Linie dargestellt wird, unabhängig von der Bedeutung.
Bindestrich,
geschützter Bindestrich,
Trennstrich,
bedingter Trennstrich,
Gedankenstrich,
Geviertstrich und als
Minuszeichen sind in der Unicode Zeichentabelle und teilweise auch in der ANSI 1252 und der ISO 8859-1 Zeichentabelle enthalten. In Dateien wie MS Word, aber auch in HTML sollte man immer darauf achten, dass man wirklich das richtige Zeichen verwendet, wegen der unterschiedlichen Darstellung (Länge und vertikale Position des Strichs) und der Bedeutung zum Beispiel für die Rechtschreibprüfung, siehe zum Beispiel
Binde-, Gedanken-, Geviertstrich – Welcher Strich wofür?
Nun aber zum Problem mit dem - tja, was nun, Bindestrich oder Trennstrich? - in Bezug auf die Funktion der automatischen Vervollständigung.
Die Definition der Trennzeichen für
Left delimiters for Ctrl + Dbl Click und
Right delimiters for Ctrl + Dbl Click sind ausschließlich für die Funktion der erweiterten Selektierung mittels Doppelklick bei gedrückt gehaltener Steuerungstaste Strg. Hier kann man also eine verkleinerte Liste von Trennzeichen definieren, um eine String zu selektieren, welcher mehrere Wörter enthält, zum Beispiel einen Dateinamen mit oder ohne Pfad. Diese Konfigurationsmöglichkeit hilft nicht bei der automatischen Vervollständigung.
Dann kann man im Wordfile für eine Sprache die Trennzeichen definieren. In progress91.uew ist das Zeichen
- nicht in der Liste der
Delimiters enthalten, was ja in diesem Fall für OpenEdge auch die bessere Wahl ist. Nur leider verwendet UltraEdit diese Liste von Trennzeichen nur für die Syntaxhervorhebung und nicht für die Funktion der automatischen Vervollständigung.
Also was tun? Leider kann man gar nichts tun. UltraEdit verwendet für die automatische Vervollständigung eine Funktion aus einer Bibliothek von Microsoft, welche einen String in Wörter zerlegt. Diese Funktion interpretiert das Zeichen
- als Trennzeichen. Daher kann man hier gar nichts machen, außer einen Erweiterungswunsch per eMail an IDM Support mit der Bitte senden, die Funktion selbst auszuprogrammieren, und die Trennzeichenliste konfigurierbar zu machen, und für Dateien mit aktiver Syntaxhervorhebung die Liste der Trennzeichen aus der Worddatei zu verwenden.
Diese Problematik mit der Interpretation von
- als Binde- oder Trennstrich ist auch der Grund, warum die meisten C/C++ Programmierer auf dieses Zeichen in Funktionsnamen verzichten und lieber den Unterstrich verwenden oder eine
CamelCase Notation verwenden. (
CamelCase = Wörter zusammengeschrieben mit dem 1. Buchstaben jedes Wortes groß geschrieben, wodurch sie Höcker wie bei einem Kamel bilden).
Warum man UltraEdit nicht in mehreren Sprachen gleichzeitig installieren kann, ist relativ einfach zu erklären. Bei UltraEdit gibt es für jede unterstützte Sprache genau 1 Installationsdatei. Damit muss man nicht ein sinnlos aufgeblähte Datei herunterladen, die alle möglichen Sprachen enthält, wovon man nur 1 Sprache wirklich braucht.
Als Negativbeispiele referenziere ich da immer wieder gerne Treiber von Intel, Nvidia und anderen großen Softwarefirmen. Da muss man oft nach mühseligem Navigieren durch Listen mit Abfrage der Hardwarebezeichnung (die man nicht leicht ermitteln kann, vor allem wenn noch kein Treiber installiert ist), des Betriebssystems und der Sprache eine über 100 MB große Datei herunterladen, die erst wieder die Treiber plus oft sinnlose Zusatzprogramme in allen Sprachen für alle Betriebssysteme und eine ganze Palette ähnlicher Hardwarekomponenten enthalten. Bei der Installation wird dann auch gleich der Einfachheit halber die Zusatzsoftware in allen Sprachen installiert. Das führt die ganzen Abfragen zuvor ad absurdum.
Das Problem der Variante von UltraEdit mit genau 1 Sprache in der Installationsdatei ist aber, dass UltraEdit nur einmal installiert werden kann, weil der Microsoft Installer (MSI) all die Dateien und Pfade in der Windows Registrierung festhält und somit die gleichzeitige Installation von 2 UltraEdit in 2 Sprachen praktisch verhindert. Man kann dieses System von Microsoft mit entsprechendem Know How überwinden, aber dann muss man bei Updates extrem aufpassen, dass nicht irrtümlich mit der deutschen Version von UltraEdit die englische Version aktualisiert wird und das Chaos dann perfekt ist. Die automatische Updatefunktion innerhalb von UltraEdit muss außerdem wissen, welche Installationsdatei heruntergeladen und ausgeführt werden soll. Da während des Updates UltraEdit beendet werden muss, werden die Informationen in der Windows Registrierung verwendet, um das Update oder sogar das Upgrade korrekt auszuführen. Bei 2 installierten UltraEdit muss man viel per Hand machen, damit nichts passiert, was die Funktionsweise eines der beiden UltraEdit stört. Außerdem muss man auch noch die automatische Prüfung auf Vollständigkeit der installierten Dateien von UltraEdit durch MSI abschalten, die bei jedem Starten von UltraEdit gemacht wird. Das System der Softwareverwaltung von Microsoft ist für Programmpakete, die in einzelnen Sprachen angeboten werden und nicht als Mehrfachsprachpaket leider ziemlich schlecht.
Das Problem mit der automatischen Korrekturfunktion konnte ich mit ihrer Konfiguration nachvollziehen. Nach der Eingabe von
lc werden diese sofort in Großbuchstaben umgewandelt. Seltsamerweise passiert das aber nur bei aktiviertem, automatischen Vervollständigem nach 3 Zeichen. Ist diese Funktion nicht aktiviert, bleiben die beiden Zeichen solange klein, bis ich ein Trennzeichen wie ein Leerzeichen, einen Zeilenumbruch, oder ähnliches eingebe. Tippe ich aber selbst nach längerer Pause weiter, bleiben die beiden Zeichen klein.
Ich sehe keinen Grund, warum die Funktion der automatischen Korrektur bei aktiviertem automatischen Vervollständigen nicht bis zur Eingabe eines Trennzeichen bzw. Bewegen des Textcursors weg vom eben eingegebenen Wort mit der Prüfung des Wortes wartet. Nach meiner Einschätzung handelt es sich dabei um einen Programmfehler. Ich werde dieses nicht korrekte Verhalten per eMail an den IDM Support melden.
Als Umgehungslösung schlage ich vor in progress91.uew noch eine weitere Sprache anzuhängen:
/C7"No Auto-Correct"
lc
Damit wird
lc jetzt nicht mehr automatisch auf
LC korrigiert, sondern man muss das selbst mit
Format - To Upper Case im Bedarfsfall machen. Als Farbe weißt man der Gruppe
No Auto-Correct die Farbe für den normalen Text zu.
Noch 2 Hinweise:
Unter
Here's help for finding settings in Configuration gibt es in einem selbstextrahierenden RAR Archiv TXT und RTF Dateien mit allen Einstellungen in englischer Sprache in der richtigen Reihenfolge. Damit kann man für eine deutsche Einstellung recht einfach die englische Bezeichnung ermitteln.
Und unter
Menu Commands (UE) bzw. deren Unterseiten findet man auch die englische Bezeichnungen für die Menübefehle. Da die Onlinehilfe in allen Sprachen verfügbar ist, kenne ich nun endlich die deutsche Bezeichnung für
Templates:
Textbausteine. Und die Einstellung
auto-complete heißt auf Deutsch
AutoVervollständigung, was ich als interessante Wortkreation ansehe.