Archiv der Kategorie: eclipse

Failed to create Java Virtual Maschine

Beim starten des ZendStudio oder von eclipse kann euch diese Meldung begegnen:

Fehlermeldung in ZendStudio 9.0.3 und kein arbeiten mehr möglich 🙁

und dann geht erst mal gar nichts mehr.

Um wieder arbeiten zu können öffnet ihr eure ZendStudio.ini bzw. eure eclipse.ini, je nach Version. Die Datei findet ihr im Programmverzeichnis der ausführbaren Datei, bei Windows ist dies zum Beispiel bei mir  unter „C:\Program Files (x86)\Zend\Zend Studio 9.0.0“ zu finden.

Die .ini ändert ihr dann wie folgt, dass ihr die Einträge mit „maxPermSize“ löscht.

Das sind die bösen Zeilen 😉

Dann speichern und dann läuft – zumindest bei mir – das ZendStudio wieder zuverlässig.
Dank update auf Java7 benutzt das Studio nun ausreichend RAM für seine Ausführung und ist nun gefühlt flüssiger Unterwegs.

SVN 1.7 mit Zend Studio 9

Zend Studio 9 (und meines Wissen die Version 8 auch) beherrscht das noch recht neue SVN 1.7 als einziges nicht. Netbeans und PHPStorm unterstützen das ganze bereits … eclipse, auf dem das Zend Studio basiert, bekommt den offiziellen Support wohl nicht mehr dieses Jahr.

Dass wir Entwickler nicht so lange warten können und wollen liegt auf der Hand, hier also meine Schritt-für-Schritt Anleitung für SVN 1.7+ und Zend Studio 9:

  1. Welcome Screen öffnen („Help“ -> „Welcome“)
  2. Dort dann rechts „SVN“ abwählen, IDE neu starten lassen
  3. „Help“ -> „Install new Software“
  4. „Work with:“ eintragen „http://subclipse.tigris.org/update_1.8.x“
  5. Mindestens die „required“ markierten anhaken
  6. Mit „Finish“ installieren, den Lizenzen entsprechend zustimmen, usw.
  7. IDE neustarten
  8. Fertig
Nun habt ihr volle SVN 1.7+ Support in Zend Studio und könnt wieder mit den Repos arbeiten wie gewohnt.
Viel Erfolg…

Autocomplete funktioniert nicht in Zend Studio 7.2

Größere Projekte lassen sich ja in Zend Stuio bzw. eclipse recht gut bearbeiten. Mein Problem war nun, dass plötzlich in allen Projekten das autocomplete-Feature überhaupt nicht mehr funktionierte. Lediglich das Popup öffnete sich, allerdings leer.

Die Lösung ist diese: Sucht in eurem Workspace nach dieser Datei:

Zend/workspaces//.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.dltk.ui.prefs

und löscht diese.

Dannach das Zend Studio neu starten und autocomplete ist wieder aktiv.

Gefunden in diesem Thread, danke: http://forums.zend.com/viewtopic.php?f=59&t=6317

Mein eclipse

Ich möchte euch hier mal einen Screenshot meines eclipse vorstellen.

Zu sehen ist aktuell meine Bearbeitung einer Einsendeaufgabe für’s Studium an meinem Rechner zu Hause.

studiendesktop

Links oben der “Package/Klassen Explorer”, mit dessen Hilfe sich schnell navigieren läßt. Drunter die “Outline”, mit deren Hilfe man schnell Funktionen, Klassen und Variablen erkennt. Darunter die “Progress” Anzeige, auch nützlich um zu sehen, woran das aktuelle Kompilat mal wieder “klemmt”.

Mittig – logisch – die Quellcodeansicht. Darunter dann die “Problems”, woran man schnell erkennt, wo man sich vertippt hat.

Rechts sind 2 Bereiche, die linke ist 2-fach unterteilt, oben die “Console”, wo man schnell Ausgaben ablesen kann, die man mittels “System.out.println” Aufrufe erstellt; darunter dann “Declarations” und “Properties” – diese dienen zumeist bei Entwicklung mittels RAD im Visual Editor.

Ganz rechts die “JavaDoc” ansicht. Befinde ich mich im Quellcode über einem Keyword, so bekomme ich dann schnell die aktuelle JavaDoc angezeigt … sehr hilfreich.

Und wie sieht euer eclipse aus?

Tasten-Tabwechsel in eclipse

In eclipse oder Zend Studio per STRG+TAB durch die offenen Editorfenster wechseln? Nope, Fehlanzeige.

Allerdings könnt ihr das per STRG+Bild-hoch (nach links) und STRG+Bild-runter (nach rechts) auch per Tastatur von Datei zu Datei wechseln.

Nur zur Info …

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.

Zend 7.1: Updateserver sind verschwunden

Nach meinem Update auf das Zend Studio 7.1 erschien zunächst alles normal. Allerdings erschien mir der Start des Zend Studio 7.1 doch ein wenig zu schnell.

Heute fiel es mir ein, das Ding macht gar keine Updates. Also, schnell wieder auf “bei jedem Start nach Updates schauen” einstellen und einmal manuell anstoßen.

Aber: Zend Studio (oder das darunterliegende eclipse) melden: Keine Server eingetragen.
*boff* Beim Update sind die Updateserver hops gegangen, die Liste der verfügbaren Server ist leer.

Okay, kein Problem, diese beiden URL müssen hier eingetragen werden:

http://download.eclipse.org/releases/galileo
http://downloads.zend.com/studio-eclipse/updates/7_1

Es werden automatisch noch weitere Seiten eingefügt.

Dannach klappt es auch wieder mit den Updates 😉

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.

tpl-Dateien in eclipse oder Zend Studio bearbeiten

Ich arbeite bei meiner PHP-Entwicklung sehr viel mit smarty zusammen, einer wunderbaren Template-Engine. Meine derzeitige IDE ist eclipse und diese kann, normalerweise, die tpl Dateien von smarty – die der Engine als HTML-Vorlage dienen – nichts anfangen und stellt die tpl´s als Text dar.

Nun wäre es viel schöner und auch viel übersichtlicher, wenn eclipse die tpl´s auch mit Syntax Coloring darstellen könnte.

Hier zeig ich euch mal, was ihr einstellen müsst.

In eclipse geht ihr im Menü “Window” auf “Preferences”, es erscheint ein neuer Dialog.

01-fileassoc

Dort geht ihr auf “General” –> “Editors” und “File Associations” und wählt rechts den Punkt “Add”.

02-addnewfileassoc

Als neuen Typ gebt ihr “*.tpl” ein und sagt “Ok”

03-newfileassoc

Nun gebt ihr zu diesem neuen Typ noch die möglichen “Views” an, also bei mir wähle ich über den Punkt “Add” (rechts) die dargestellten Typen, wichtig hierbei der Typ “HTML Editor” und diesen auf “default” stellen.

Jetzt müssen wir nur noch den “Content Type” der tpl´s mit einer HTML-Ansicht verknüpfen und das ganze ist fertig.

04-contenttypes

Dazu unter “General” –> “Content Types” wie im Bild “Text” aufklappen und HTML auswählen, unten dann noch “*.tpl” hinzufügen und den ganzen Dialog mit “Ok” schließen.

Sobald ihr nun eine tpl-Datei in eclipse neu öffnet, wird die entsprechende HTML Ansicht geöffnet, welche euch u.a. auch Syntax Coloring bietet.

Viel Spaß beim coden…