EmEditor v22.1.0 veröffentlicht (mit technischer Überprüfung)!

Heute veröffentlichen wir EmEditor v22.1.0.

Eine wichtige Funktion von EmEditor Professional v22.1 ist die Unterstützung von modernem JavaScript (auch ECMAScript genannt) mit der V8-JavaScript-Engine. Diese Funktion wurde von vielen Kunden gewünscht (darunter 1). Frühere Versionen von EmEditor verwendeten JScript, das auf der Active-Scripting-Technologie für Internet Explorer basierte. Dies hatte den Vorteil, dass viele andere Active-Scripting-Sprachen wie VBScript, PerlScript, PHPScript, Python und RubyScript unterstützt wurden, aber die Unterstützung für die neuesten Versionen von JavaScript fehlte. EmEditor Professional v22.1 unterstützt nun modernes JavaScript und weiterhin das alte JScript und andere Active-Scripting-Sprachen.

Standardmäßig werden Ihre JavaScript-Makros weiterhin mit der alten JScript-Engine ausgeführt. Um die V8-Engine für Ihr JavaScript-Makro zu verwenden, können Sie die folgende Zeile am Anfang Ihres Makros hinzufügen:

#language="v8"

Wenn Sie V8 standardmäßig für alle Ihre JavaScript-Makros verwenden möchten, wählen Sie im Menü Makros die Option Anpassen und legen auf der Seite Optionen die Option V8 als JavaScript-Engine verwenden fest. Wenn Sie ein Makro in JScript ausführen müssen, während V8 als Standard ausgewählt ist, können Sie die folgende Zeile am Anfang Ihres JScript-Makros hinzufügen:

#language="JScript"

Weitere Informationen finden Sie unter „FAQ: Wie verwende ich die V8-Engine?“.

Die Unterstützung von modernem JavaScript ermöglichte die Verwendung vieler Bibliotheken von Drittanbietern. Die Bibliothek Luxon ermöglicht beispielsweise den einfachen Umgang mit Datums- und Zeitangaben wie folgt:

#language="v8"
#include "luxon.min.js"
alert( luxon.DateTime.now().setZone('America/New_York').minus({weeks:1}).endOf('day').toISO() );

Mit der Bibliothek Currency.js können Sie Arithmetik mit Währungen durchführen, ohne sich um die üblichen Gleitkommafehler sorgen zu müssen. Zum Beispiel:

#language="v8"
#include "currency.min.js"
var d = currency( 0 );
for( i = 0; i != 10000; ++i ) { 
    d = d.add( 0.01 );   // 10000 times $0.01
}
alert( "$" + d );  // result is $100.00 as expected. It might not be an expected result if currency.js is not used.

Derzeit unterstützen EmEditor-Makros keine JavaScript-Module, daher können Sie weder Node.js noch das Schlüsselwort import verwenden, um Bibliotheken zu importieren. Um Bibliotheken von Drittanbietern zu verwenden, müssen Sie eine Bibliothek herunterladen (normalerweise mit der Erweiterung .min.js) und sie mit #include einbinden. Weitere Informationen zur Verwendung von Bibliotheken von Drittanbietern finden Sie unter „FAQ: Wie importiere ich Bibliotheken in ein Makro?“.

Wenn Sie sich entscheiden, Ihre vorhandenen Makros als V8 auszuführen, stellen Sie bitte sicher, dass alle Schlüsselwörter unter Beachtung der Groß- und Kleinschreibung geschrieben sind. Wenn Ihr Makro Folgendes enthielt:

redraw = false

müssen Sie es wie folgt neu schreiben:

Redraw = false

V8 unterstützt das Objekt ActiveXObject zum Erstellen eines Objekts nicht, das von JScript unterstützt wurde. Für häufig verwendete Methoden können Sie jedoch stattdessen die neu hinzugefügten Methoden des Objekts Shell verwenden, das in EmEditor-Makros enthalten ist. Wenn Ihr Makro beispielsweise Folgendes enthielt:

fso = new ActiveXObject( "Scripting.FileSystemObject" );
if( fso.FileExists( filename ) ) {
    fso.DeleteFile( filename );
}

müssen Sie es wie folgt neu schreiben:

if( shell.FileExists( filename ) ) {
    shell.DeleteFile( filename );
}

Makros werden unter V8 immer asynchron ausgeführt und können in manchen Fällen langsamer als JScript sein. Derzeit ist die Option V8 als JavaScript-Engine verwenden standardmäßig deaktiviert. Dies liegt an einigen Inkompatibilitätsproblemen mit alten JScript-Makros. Dennoch ist die Unterstützung von modernem JavaScript unvermeidlich, und V8 könnte in künftigen Versionen zum Standard werden.

Die Unterstützung der V8-JavaScript-Engine wurde durch die Verwendung des Steuerelements Microsoft Edge WebView2 ermöglicht. Das WebView2-Steuerelement ist in neueren Versionen von Windows 10/11 enthalten. Wenn V8-Makros auf Ihrem Computer nicht ausgeführt werden, aktualisieren Sie Ihr Betriebssystem auf die neueste Version von Windows 10/11, installieren Sie die neueste Version von Microsoft Edge oder laden Sie die WebView2-Runtime herunter und installieren Sie sie (Evergreen Bootstrapper oder Standalone Installer).

Das WebPreview-Plug-in unterstützt ebenfalls das WebView2-Steuerelement, um HTML-Dateien mit dem Microsoft Edge-Browser anzuzeigen. Anders als bei Makros ist diese Option standardmäßig aktiviert, und Sie können die Browser-Engine in den Eigenschaften des WebPreview-Plug-ins auswählen.

EmEditor Professional v22.1 enthält mehrere neue Befehle. Einer davon heißt Geteilte Zeichenfolgen in der Auswahl sortieren/duplizieren entfernen. Angenommen, Sie haben eine Wortliste:

orange, banana, apple, banana, pineapple, apple

Sie können diese Wörter auswählen und im Menü Sortieren den Befehl Geteilte Zeichenfolgen in der Auswahl sortieren/duplizieren entfernen wählen. Daraufhin erscheint das Dialogfeld Auswahl sortieren, in dem Sie die Option Doppelte geteilte Zeichenfolgen entfernen festlegen und Von A bis Z sortieren wählen können. Das Ergebnis wird zu:

apple, banana, orange, pineapple

In vielen Fällen erkennt dieser Befehl das Trennzeichen automatisch, in diesem Fall „, “ (ein Komma und ein Leerzeichen).

Ein weiterer neuer Befehl wurde für den Umgang mit CSV-Spalten eingeführt. Mit dem Befehl Spalten sortieren können Sie CSV-Spalten an einer bestimmten Zeile sortieren, normalerweise an der ersten Zeile oder Überschrift. Bisher konnten Sie nur Zeilen (Reihen) sortieren. Sie können optional doppelte Spalten (an einer bestimmten Zeile) entfernen oder Spalten mit einer leeren Zelle (an einer bestimmten Zeile) entfernen.

Der letzte neue Befehl, Spalten verwalten, ersetzt den bisherigen Befehl Spalten verschieben/kopieren. Wenn Sie den Befehl Spalten verwalten im Kontextmenü der Spaltenüberschrift für CSV auswählen, erscheint das Dialogfeld Spalten verwalten mit einer Liste der Spaltenüberschriften. Sie können eine oder mehrere Spalten aus der Liste auswählen und dann per Drag-and-Drop verschieben oder neu anordnen. Sie können auch mit der rechten Maustaste auf die Liste klicken und Kopieren und Einfügen wählen, um ausgewählte Spalten zu duplizieren. Darüber hinaus können Sie auf die Schaltfläche Löschen klicken, um die ausgewählten Spalten zu löschen, oder auf die Schaltfläche Sortieren klicken, um alle Spalten zu sortieren.

Sie können Vorgänge mit diesen neuen Befehlen in Makros aufzeichnen. Der Befehl Geteilte Zeichenfolgen in der Auswahl sortieren/duplizieren entfernen wird als Methode Sort des Objekts Selection aufgezeichnet. Wenn eine Auswahl beispielsweise durch Kommas getrennte Wörter enthält, sortiert der folgende Code die Auswahl von A bis Z.

document.selection.Sort( ",", "A+" );

Der Befehl Spalten verwalten wird als Methode RearrangeColumns des Objekts Document aufgezeichnet. Wenn das aktuelle CSV-Dokument beispielsweise 3 Spalten enthält, verschiebt der folgende Code die erste Spalte an das rechte Ende des Dokuments.

document.RearrangeColumns("2,3,1");

Schließlich wurde für EmEditor Professional das von Makoto Emura entwickelte CommitList-(Git-)Plug-in aktualisiert, indem Funktionen zum Erstellen von Commits, Ändern von Branches, Bereitstellen von Änderungen und Rückgängigmachen von Änderungen hinzugefügt wurden.

EmEditor Professional und Free v22.1 enthalten viele neue Funktionen aus dem Kundenfeedback. Die neue Version unterstützt beispielsweise ein Datumsformat ohne Trennzeichen (zum Beispiel „yyyyMMdd“) in einem Zahlenbereich. Sie können beispielsweise einen Zahlenbereichsausdruck verwenden:

File[20221205 , 20221207 "yyyyMMdd" ].txt

um die folgenden Zeilen zu suchen, zu filtern oder zu extrahieren:

File20221205.txt
File20221206.txt
File20221207.txt

Makoto hat das Dialogfeld Absturzbericht neu gestaltet und die Möglichkeit hinzugefügt, einen Absturzbericht direkt aus EmEditor Professional/Free heraus zu übermitteln. Dadurch wird der Aufwand verringert, eine Absturzberichtsdatei zu finden und per E-Mail zu senden. Wir stehen der neuen Möglichkeit bereits positiv gegenüber, da wir während der Entwicklung der Beta-Versionen schon viele Berichte erhalten, die es uns ermöglicht haben, Fehler vor der Veröffentlichung dieser offiziellen Version zu beheben. Wir danken allen, die uns bereits Absturzberichte gesendet haben.

Bei der Gestaltung der Übermittlungsfunktion für Absturzberichte haben wir dafür gesorgt, dass keine persönlichen Informationen an uns gesendet werden. Darüber hinaus können Sie entscheiden, ob Sie einen Absturzbericht übermitteln. Wenn Sie im Dialogfeld Absturzbericht nicht auf die Schaltfläche Übermitteln klicken oder sie nicht auswählen, werden keine Ihrer Daten übermittelt.

Schließlich haben EmEditor Professional und Free v22.1 die Geschwindigkeit beim Zählen der Zeichen in einer Auswahl erheblich verbessert, indem mehrthreadiger Code verwendet wird, der mit einem SIMD-Befehlssatz geschrieben wurde. Die Anzahl der Zeichen in einer Auswahl wird in der Statusleiste angezeigt, wobei ein Unicode-Ersatzpaar als ein Zeichen gezählt wird.

Makoto hatte eine weitere Idee: unsere Desktop-Installer und portablen Dateien von emeditor.com nach emeditor.info zu verlagern. Die neue Domäne (emeditor.info) nutzt ein Content Delivery Network (CDN), mit dem wir Dateien schnell hosten und bereitstellen können. Diese Domänenänderung kann eine Warnung durch eine Sicherheitssoftware auslösen, aber Sie können die Warnung aufgrund der Domänenänderung bedenkenlos ignorieren und deaktivieren.

Ich hoffe, EmEditor gefällt Ihnen, unabhängig davon, ob Sie die Version Professional oder Free verwenden. Bitte kontaktieren Sie uns oder schreiben Sie in die Foren, wenn Sie Fragen, Funktionswünsche oder Ideen haben.

Vielen Dank, dass Sie EmEditor verwenden!
— Yutaka Emura

Einzelheiten und Screenshots finden Sie unter Neue Funktionen in EmEditor v22.1.

Diese Version enthält auch alle Fehlerbehebungen während der Entwicklung von v22.0.

Wenn Sie die Desktop-Installer-Version verwenden, können Sie im Menü Hilfe die Option Auf Updates prüfen wählen, um die neueste Version herunterzuladen. Wenn diese Methode fehlschlägt, laden Sie die neueste Version herunter und führen Sie den heruntergeladenen Installer aus. Wenn Sie die portable Desktop-Version verwenden, können Sie die neueste Version auf der Downloadseite herunterladen. Die Store-App-Versionen können nach einigen Tagen über den Microsoft Store (64-Bit oder 32-Bit) aktualisiert werden. Wenn Sie winget verwenden, können Sie „winget install emeditor“ eingeben, um die neueste Version von EmEditor zu installieren (64-Bit oder 32-Bit wird automatisch erkannt).