Archiv der Kategorie: editor

Relative URL’s im tinyMCE

Das Problem: Jedesmal wenn ich im tinyMCE-Editor eine URL angebe, wird diese in eine „bessere“ Form gebracht.

Beispiel: Eine URL der Art „/bilder/meinBild.png“ wird zu „../bilder/meinBild.png“.

Die Browserengines sind zwar so schlau, dass ganze auch wirklich Problem- und Warnungslos anzuzeigen, aber Suchmaschinen sind da schon pingeliger.

Die Lösung lautet, die Option „convert_urls“ in der Konfiguration des Editor auf „false“ zu setzen.

tinyMCE.init({
...
convert_urls : false,
...
});

Damit bleibt dann der Eintrag so, wie dieser in den Editor geschrieben wird.

Suchfunktion in eclipse richtig (aus)nutzen

Die Suchfunktion in eclipse bzw. ZendStudio kann mehr, als ein simples STRG+F vermuten lässt. Also mal Zeit, kurz was darüber zu schreiben, was einem das (Programmierer)-Leben leichter macht; Programmierer sind ja bekanntlich faule Wesen 🙂

Also, in eclipse und anderen IDEs, die auf eclipse basieren – z.B. ZendStudio, Aptana, usw. – gibt es im Prinzip zwei Suchfunktionen.

  1. Die Suche über STRG+F
  2. Die Suche über STRG+H

Die Suche über STRG+F…

… ist schnell erklärt und man sollte wissen, dass diese Suche nur funktioniert, wenn man ein Dokument geöffnet hat.

sufu1

Den zu findenden Text schreiben und ENTER drücken und man springt zum nächsten Vorkommen. Die Optionen sollten alle selbsterklärend sein.
Hinweis: Die Suche beschränkt sich auf das aktuelle Dokument, auch wenn mehrere Dateien geöffnet sind!

Die Suche über STRG+H…

…ist das eigentliche Highlight in eclipse und ist äußerst mächtig, wenn man sich ein wenig Zeit nimmt, die Optionen zu studieren.

Erstmal ein Einblick in die Oberfläche:

sufu2

Das ganze funktioniert erst, wenn ihr ein Projekt geöffnet habt, allerdings muss keine Datei geöffnet sein.

Sollte euch der Reiter “Remote Search” fehlen, keine Panik, den habe ich deaktiviert. Unten Link den Button “Customize” drücken und dort den Reiter “Remote Search” ausschalten.

sufu3

(Mich hat das ständig genervt, dass dieser Reiter zuerst ausgewählt ist und ich nicht direkt lokal suchen konnte.)

Wie ihr seht, könnt ihr zwar die Suchfunktionen ein- und ausschalten, allerdings nicht die Reihenfolge ändern. Hinweise diesbezüglich nehme ich gerne entgegen.

Okay, meine Erfahrung beschränken sich auf den Suchreiter “File Search”, aber der hat es schon in sich und reicht für meine Zwecke mehr als nur aus.

Ein Beispiel zur Suche

Ich habe ein (PHP)Projekt mit 2.000 Dateien und suche dort alle Vorkommen der mail()-Funktion; evtl. will ich die Funktion durch eine Klasse ersetzen. Also STRG+H, in das Feld “Containing Text” trage ich “mail(“ ein, bei “File name patterns” sage ich “*.php” und den “Scope” setze ich auf “Workspace”. Nun ein Klick auf “Search” und kurz danach erhalte ich alle Ergebnisse sauber nach Vorkommen gegliedert und kann so jeden Treffer sehen. Dabei bekomme ich auch eine Vorschau der betreffenden Zeile und kann anhand dieser Information schon schnell beurteilen, ob dieser Treffer für mein Vorhaben interessant ist oder nicht.

Ich denke mal, bis hierhin kennen sich die meisten schon aus; Interessant wird es dann für folgenden Fall – gleiches Projekt (2.000 Dateien).

Ersetzen Advanced

Es fällt auf, dass es zwar ganz unten einen “Replace” Button gibt, aber kein Feld, mit was denn ersetzt werden soll. An dieser Stelle muss man wissen, dass dieses Ersetzen sich auf den gewählten “Scope” bezieht. Setzt man den Scope auf “Workspace”, dann geht es um das ganze Project, also 2.000 Dateien. Da sollte man vorsichtig sein … und eclipse hilft einem dabei.

Also, erst mal eingeben, was man ersetzen möchte. Als Beispiel benutze ich mal den Fall, dass ich in meinem (PHP)Projekt ca. 230 Links auf ein pdf Dokument habe. Der Name des Dokuments wurde nun kundenseitig geändert (kann ja mal passieren) und das ganze soll nun ASAP korrigiert werden.
Die Aufgabe lautet also: Korrigiere ca. 230 Links in ca. 2.000 Dateien und das schnellstmöglich.

Um das Beispiel gleich komplex zu machen – so lernt ihr wirklich alles kennen – nenne ich das alte Dokument “MeinReport_022010_de.pdf” und ein zweites Dokument heißt “MeinReport_022010_en.pdf” und das ganze soll nun so heißen: “report_de_februar_2010.pdf” und “report_en_februar_2010.pdf”.

Man sieht, die Namen sind sich ähnlich bis auf das de und en.

Der Weg ist nun folgender: Wir benutzen ein Such-RegEx, um die beiden PDF-Dokumente zu finden und ersetzen diese dann in den Dateien automatisch, allerdings wollen wir eine Vorkontrolle, was alles ersetzt werden soll. Und das geht so:

sufu4

Also, erst mal den RegEx eingeben, das ganze auch als “Regular expression” markieren, den “Scope” auf “Workspace” setzen und dann unten auf “Replace…” klicken.

eclipse sucht nun die Treffer und in der nächsten Maske kann man nun die Ersetzung angeben. Diese wäre in unserem Fall “report_$1_februar_2010.pdf”, damit de und en auch richtig eingesetzt werden.

Das ganz besondere ist nun der Button “Preview”, der uns nun alle Treffer in einem Diff anzeigt. So können wir sehen, ob alles richtig läuft, man kann einzelnen Ersetzungsschritte wählen oder ganz unten “Ok” klicken, dann werden alle Treffer ersetzt.

Mit der entsprechenden FTP-Synchronisation – die es leider im “normalen” eclipse nicht gibt, ich benutze ja ZendStudio – kann man nun automatisch die Änderungen an den Server übertragen.

Fazit: Das Problem klang nach viel Arbeit, aber die Powersuche in eclipse bzw. ZendStudio hilft uns dabei, das ganze gelassen in 15 Minuten zu erledigen. Und das war nur ein Reiter der Suche … wie gesagt, die anderen habe ich bisher nicht gebraucht.

Performance des Zend Studio verbessern

Hier ein paar Tipps, wie ihr eure IDE – hier das Zend Studio – schneller macht.
Ich benutze das Zend Studio 7.x, es sollte aber auch ab Version 6.x funktionieren.

Tipp 1: Code Analyser abschalten.

Unter „Window“ -> „Preferences“ -> „PHP“ -> „Code Analyser“ den Haken bei „Enable …“ rausmachen.

Tipp 2: Speicher erhöhen

Im Programmordner des Zend Studio findet ihr die „ZendStudio.ini“. Dortdrin findet ihr, recht weit unten“, die Einträge zur Benutzung des Arbeitsspeichers (Xmx und Xms Speicher).

Dies könnt ihr wie folgt ändern:

-Xms256M
-Xmx768M

Tipp 3: Die Java Runtime ändern.

Zend Studio startet routinemäßig mit der Java Runtime 1.5. Derzeit ist aber schon die Version 1.6 draußen, die u.a. auch Performance-Verbesserungen mitbringt. Um die neue JRE zu nutzen, geht ihr folgendermaßen vor:
a) Aktuelle Runtime ermitteln.
Konsole aufmachen („Start“->“Ausführen“->“cmd“). Dort dann

java -version

eingeben. Ihr erhaltet die aktuell vom system verwendete jre Version.
b) Runtime Ordner finden.
Bei Windows Systemen liegt die Runtime meist entweder im Programmordner/Java/Runtime oder in Programmordner/Java/JDKxxx/jre.
Ihr braucht die dort enthaltene jre.dll, diese ist im Unterordner „bin/client“. Diesen ganzen Pfad inkl. der dll braucht ihr nun.
c) Neue Runtime eintragen.
Wieder die „ZendStudio.ini“ aufmachen, dort am Anfang folgendes eingeben:

; Run Zend Studio with system's JRE
-vm
C:\Programme\Java\jdk1.6.0_16\jre\bin\client\jvm.dll
; ----------------------------------------

Natürlich müsst ihr den Pfad mit eurem Pfad ersetzen.

Meine „ZendStudio.ini“ sieht zum Beispiel so aus:

; Run Zend Studio with system's JRE
-vm
C:\Programme\Java\jdk1.6.0_16\jre\bin\client\jvm.dll
; ----------------------------------------
-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090921.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
--launcher.XXMaxPermSize
256m
-vmargs
-Xms256M
-Xmx768M

Und ich bin damit ganz zufrieden.

Wenn ihr auch Tipps habt, immer her damit.

Quelltexteditorwechsel im Firefox

Wenn man – wie ich – den Standart-Quelltext Editor von Firefox satt hat, kann man diesen auch ganz bequem wechseln. In meinem Falle wollte ich mein Notpad++ benutzen, weil´s
a) Syntax-Highlighting beherrscht und
b) Zeilennummern unterstützt
2 von vielen Gründen also, den Standarteditor zu verändern.

Howto:
1. Firefox öffnen, in die URL ‚about:config‘ eingeben, die folgende Sicherheitsfrage bejahen
2. Den Eintrag ‚view_source.editor.path‘ raussuchen und dort die Adresse des Editors eingeben, in meinem Falle also ‚C:\Programme\Notepad++\notepad++.exe‘.
3. Mit OK das ganze bestätigen
4. Webseiten ansurfen und mit STRG+U nun den Quelltext im neuen Editor betrachten.

Viel Spaß damit …