SciTE unter Windows

SciTE unter WindowsAuf dieser Seite möchte ich interessierten Entwicklern meine erste Wahl der unzähligen Code-Editoren vorstellen. Vor langer Zeit begab ich mich auf die Suche nach dem ultimativen Editor für meine Arbeit. Nach dem ich ettliche Editoren getestet hatte, nutzte ich eine Zeit lang Notepad++. Leider stieß ich nach kurzer Zeit auch an Grenzen da essentielle Anpassungen sehr umständlich und teils nicht möglich waren.

 

Schließlich fand ich den Scintilla Text Editor, der ursprünlich als Demo für die Scintilla Editor-komponente (die auch von Notepad++ genutzt wird) gedacht war. Der erste Eindruck war enttäuschend, doch nach kurzer Zeit erkannte ich das große Potential dieses genialen Editors. Die meisten Konfigurationen werden ausschließlich über Konfigurationsdateien erledigt. Dadurch bleibt der Editor selbst klein und schnell, da kein gigantisches Userinterface für die Konfiguration benötigt wird.

SciTE mit LUA erweitern

Mittels der Scriptsprache LUA kann der Sci-Text-Editor frei mit Funktionalität aufgerüstet werden. Nach einigen Recherchen habe ich eine Abspaltung namens  SciTE Ru im Netz gefunden und einige Erweiterungen dieser Entwicklungslinie in meine Konfigurationen übernommen. So war es mir möglich eine eigene SideBar nach meinen Bedürfnissen mittels LUA zu programmieren.

Filebrowser - Projekte

Filebrowser in SciTEBei vielen Erweiterungen dieser Art für andere Editoren ist es nicht möglich ein beliebiges Verzeichnis als Wurzelverzeichnis zu setzen, wobei die Anzeige riesiger Ordnerstrukturen und ettlicher Elternverzeichnisse die Übersichtlichkeit und eine effektive Nutzung solcher Erweiterungen erheblich einschränken.

 

Aus diesem Grund habe ich mich entschieden, grundsätzlich mit einem variablen Wurzelverzeichniss(RootDir) zu arbeiten, was die Performance und die Übersichtlichkeit erheblich verbessert. So wird beim Aufruf eines Elternverzeichnis das Wurzelverzeichnis automatisch neu gesetzt.

 

Andersherum habe ich mich entschieden die Anzeige von Unterverzeichnissen als Baumstruktur zu realisieren. Somit ist es möglich innerhalb eines Projektverzeichniss ohne Verlust der Anzeige zu navigieren. Natürlich ist es auch möglich ein beliebiges Unterverzeichnis über das Kontextmenü als Wurzelverzeichnis zu setzen oder den Projekten hinzuzufügen.

 

Ein weiterer Vorteil dieser Vorgehensweise ist die inkrementelle Suche aller angezeigten Elemente, die so auch aus geöffnetten Unterverzeichnissen Ergebnisse liefert.

 

Schließlich habe ich noch eine Projektverwaltung integriert, um blitzschnell zwischen verschiedenen Wurzelverzeichnissen(Projekten) zu wechseln.

Scriptnavigation - Funktionsliste

Jeder der schon mit größeren Projekten zu tun hatte kennt die Problematik. Riesige Quellcodedateien und eine Suche im Dokument findet meist alles Mögliche bevor die richtige Stelle gefunden wurde. Hierfür gibt es in der SideBar einen Sektionsbereich, der beim Öffnen bzw Wechseln alle Sektionen(Funktionen, CSS Klassen, etc) des aktuellen Dokuments anzeigt  und per Mausklick zur ausgewählten Position springt.

 

Weiterhin ist auch hier eine inkrementelle Suche vorhanden, worurch bei nur minimalen Kenntnissen über das Ziel die schnellste Möglichkeit dorthin zu gelangen gegeben ist.

 

In der ungefilterten Ansicht der Sektionen werden auch vorhandene Hirachien beachtet und visualisiert. Sind also Funktionen innerhalb von Funktionen deklariert, werden diese eingerückt dargestellt. Das hilft auch die Codegliederung schneller und besser zu erfassen.

Projektnavigation - CTags

Ein weiteres Feature worauf ich nie wieder verzichten möchte ist die Integration von Open CTags. CTags erstellt einen Index über alle Sektionen eines kompletten Projekts (verzeichnisübergreifend & rekursiv). Dies geschiet innerhalb von SciTE.

Ist diese Tag-Datei im Root-Verzeichnis des Projects vorhanden kann man nun mittels eine Tastenkombination direkt zur Definition des unter dem Cursor befindlichem Wort springen. Befindet sich das Ziel in einer Datei die nicht in SciTE geöffnet ist, wird diese automatisch geöffnet.

Kontext Hilfe je Programmiersprache

Für jeden Dateityp kann eine eigene Hilfedatei hinterlegt werden, die beim Drücken der F1 Taste kontextsensitiv das Wort unter dem Cursor übergibt und die entsprechende Seite des Manuals automatisch anzeigt. Die Funktion habe ich im laufe der Zeit sehr zu schätzen gelernt und ist von Haus aus in SciTE enthalten. 

UTF-8 & Ansi Files

In der Standardkonfiguration ist es in SciTE nicht möglich, ANSI und UTF-8 Dateien gleichzeitig zu bearbeiten. Jedoch hat der Entwickler eine Möglichkeit geschaffen die Codepage-Einstellung automatisch von einem externen Tool zu beziehen. Hierfür habe ich einen UTF-8 Detector entwickelt, der diese Aufgabe erfüllt. Dadurch können nun ANSI und UTF-8 Dateien gleichzeitig bearbeitet werden.

Weitere Funktionen

Viele nützliche Features wie API CallTips, Abbreviations, Autovervollständigung und Vieles mehr sind in SciTE enthalten, die dem Entwickler die Arbeit sehr erleichtert. Ich hoffe ich konnte bei Einigen das Interesse wecken. Weiter unten steht ein Download für einen fertig konfigurierten Editor in der Verion 3.4.1 bereit. 

Download SciTE, Function List, Filebrowser, Projects, CTags, UTF-8/ANSI

SciTE (Ohne Manuale *.chm Files) 2,8 MB:

Name*:
Kommentar:
Spamschutz:
 

 

Manuale (CHM Files für Seflhtml, PHP, LUA & MySQL) - 28 MB

 

extract to /wscite/help/

 

Letzte Änderung: 22.04.2014

Kommentare - Anregungen

Neuer Eintrag:
Name*:
E-Mail*:
Text:
Spamschutz:

Vorhandene Einträge:

 

Markusschrieb am 01.02.2017 um 20:14:39

Damit alle Funktionen in SciTE reibungslos laufen sollte der Editor immer als Administrator ausgeführt werden!

 1 Datensätze

 



© 2021 cruso netzwerk software - Markus Krause, Burgstr. 5, D-06114 Halle/Saale, Tel: 0177 8542215