So beseitigen Sie Probleme und Fehler mit Netbeans

So beseitigen Sie Probleme und Fehler mit Netbeans

Netbeans ist eine mächtige und dabei noch einfach zu bedienende IDE. Allerdings gibt es immer wieder kleine Stolpersteine auf die man stößt.

Damit Sie nicht ins Straucheln kommen, hier unsere besten Tipps für Problemfälle.

Darum funktionieren Breakpoints nicht

Wenn Sie mit der Hilfe der Server-Bibliothek Xdebug und Netbeans PHP-Projekte debuggen, kann es sein, dass ein gesetzter Breakpoint einfach übergangen wird oder generell keine Einzelschritt-Abarbeitung Ihres Quellcode möglich ist.

Dann sollten Sie zuerst prüfen, ob die Grundinstallation Ihres Entwicklungssystems stimmt. Erkennt also Netbeans beim Starten des Debug-Modus den Debugger, dann sollten Sie die “Running” in der Statusleiste erkennen.

Netbeans Debugger läuft

Erhalten Sie diese Meldung, aber das Anhalten an einem Breakpoint klappt dennoch nicht, dann handelt es sich wahrscheinlich um ein Problem mit den Pfaden.

Hintergrund dazu: Wenn Sie Ihren PHP-Quellcode nicht auf dem Entwicklungssystem selbst laufen lassen, sondern auf einem anderen Computer oder einem virtuellen System, kann Netbeans die von Xdebug gelieferten Nachrichten nicht richtig auswerten. Denn es wird bei jeder abgearbeiteten Programmdatei deren vollständiger Verzeichnispfad auf dem Server-System gemeldet.

Wenn Sie zum Beispiel ein Skript ausführen, das auf dem Server im Verzeichnis /var/www/mysite läuft, auf dem Entwicklungs-Computer aber unter C:Projektemysite abgespeichert ist, kann Netbeans beide Pfade nicht unter einen Hut bringen. Die Folge ist dann eben, dass Breakpoints übergangen werden.

So machen Sie Netbeans das Server-Verzeichnis bekannt

Die Abhilfe besteht darin, Netbeans die Zuordnung zwischen den beiden Directories mitzuteilen.

Dazu gehen Sie auf File – Project Properties und wählen dort unter der Kategorie Run Configuration den Button Advanced.

Klicken Sie doppelt auf eine freie Zeile unter Path Mapping.

Geben Sie im linken Feld den realen Namen eines Verzeichnisses auf dem Server an und öffnen mit dem kleinen Button rechts den Dialog zur Auswahl des lokalen Projektordner auf Ihrem Entwicklungssystem. Die beiden Pfadangaben müssen Deckungsgleichheit ergeben. Im obigen Beispiel würden Sie es etwa so eingeben:

Netbeans Path Mapping

Wenn Sie automatischen Anführungszeichen nerven

In einer der letzten Ausgaben der Programmierumgebung Netbeans haben die Entwickler mit den automatischen Anführungszeichen eine Hilfestellung anbieten wollen. Oft ist diese Automatik aber eher hinderlich.

Bei einfachen Aktionen ist ja noch alles ganz prima: Sie schreiben ein öffnendes Anführungszeichen und Netbeans baut automatisch eine Stelle rechts vom Cursor dessen Gegenstück ein. Den Inhalt dazwischen können Sie dann ohne weitere Aktionen tippen und haben gleich einen kompletten Ausdruck.

Die andere praktische Option ist das Umwandeln einer Sorte von Zeichenbegrenzungen in eine andere: Dazu markieren Sie die Zeichenkette zusammen mit den Anführungszeichen oder Apostrophen aussenrum und tippen die gewünschte neue Begrenzung ein und Netbeans tauscht die Delimiter korrekt aus.

Zum Störenfried wird diese Automatik aber zum Beispiel dann, wenn Sie in einem komplizierteren Ausdruck Teile durch Markieren und Überschreiben ändern möchten. Dann wendet Netbeans seine Logik darauf an und tauscht scheinbar willkürlich Teile aus oder fügt ein Begrenzungszeichen hinzu, statt zu überschreiben.

So schalten Sie die Automatik der Anführungszeichen aus

Wenn für Sie der störende Effekt größer als der Nutzen ist, deaktivieren Sie die Automatik.

Dazu gehen Sie zum Menü Tools – Options und wählen dort die Gruppe Editor aus.

Aktivieren Sie den Reiter Code Completion und wählen oben unter Language die gewünschte Programmiersprache aus, etwa “PHP”.

Netbeans Automatik aus 1

Nun müssen Sie im Dialog ganz nach unten gehen.

Dort finden Sie unter Quote Completion den Schalter Use Smart Quotes. Deaktivieren Sie diese Einstellung und der Editor ist in diesem Punkt weniger smart, dafür aber praktikabler geworden.

Netbeans Anführungszeichen manuell

Automatisches Schließen von Klammern verhindern

Eine Funktion im Quelltexteditor der Programmierumgebung Netbeans kann ganz schön nerven. Sobald Sie eine Klammer öffnen oder Anführungszeichen setzen, wird vom Editor automatisch das schließende Pendant dazu eingefügt.

Wenn Sie diese Automatik bei komplexen Ausdrücken verwirrt oder Sie einfach die Alleinherrschaft über die Texteingabe erlangen möchten, schalten Sie diese Funktion einfach ab.

So schalten Sie die Vervollständigung von Klammern und Anführungszeichen ab

Gehen Sie dazu in Tools – OptionsEditor  und dort auf den Reiter Code Completion.

Belassen Sie bei der Sprachauswahl die Voreinstellung All Languages. Denn die zuständige Einstellung gibt es nur hier und zum Beispiel nicht unter PHP.

Deaktivieren Sie die Checkbox bei Insert Closing Brackets automatically.

Netbeans keine Klammerautomatik

Obwohl die Bezeichnung vermuten lässt, dass sich die Einstellung nur auf Klammern (Brackets) bezieht, wirkt sie sich tatsächlich auch auf alle Arten von Anführungszeichen aus.

Einträge der Aufgabenliste einschränken

Im Fenster Tasks (Aufgaben), das Sie per [Strg + 6] einblenden können, sehen Sie neben selbst definierten Tasks weitere, automatisch generierte Einträge.

Netbeans Taskliste

Das Fenster enthält zum Beispiel alle Fehler die Netbeans beim Einlesen der Dateien aufgefallen sind, wie Syntaxprobleme oder auch nur Code, der nie erreicht wird. Ernste Fehler haben dabei eine rotes Symbol, Warnungen werden in Gelb gezeigt.

Zusätzlich erscheinen darin auch Referenzen auf Kommentare im Code, die beispielsweise die Schlüsselwörter “Todo” oder “Fixme” enthalten, was viele Entwickler nutzen, um Code zu markieren, der noch der weiteren Bearbeitung bedarf.

So ändern Sie den Umfang der angezeigten Tasks

Sie können recht einfach über die Buttons links von der Liste den Wirkungsbereich der Liste reduzieren. Die ersten drei bewirken dabei die Einschränkung auf folgende Dateien:

* aktueller Quelltext

* Dateien des Hauptprojekts

* alle offenen Projekte

So lassen Sie lediglich das anzeigen, was Sie interessiert

Der Filter-Knopf links neben der Aufgabenliste erlaubt Ihnen durch die Definition eines Filters nur das darzustellen, was für Sie relevant ist. Ein typischer Fall ist, dass Sie Fehler und Warnungen ignorieren möchten, die nicht von Ihrem eigenen Code, sondern von einer Bibliothek anderer stammen. Netbeans kann Filter für die Aufgabenliste aufgrund verschiedener Charakteristika einschränken, wie etwa dem Pfad der Quelldateien.

Ein Beispiel: Ihre Quelldateien liegen auf C:wwwprojekte. Über einen PHP-Include holen Sie sich eine Bibliothek von C:phplibxy und haben dies auch Netbeans über einen Pfad-Include mitgeteilt, damit es die Funtkionen der Bibliothek kennt und bei der Eingaben Ihnen entsprechende Vorschläge macht.

Um die in der Bibliothek gefundenen Fehler bei der Anzeige in der Aufgabenliste zu übergehen gehen Sie so vor:

* Klicken Sie den Pfeil neben dem Filtersymbol an und wählen Edit.

* Legen Sie mit New einen neuen Filter an und geben ihm unter Name eine Bezeichnung ein, wie “keine Fehler in Fremdcode”.

* Gehen Sie auf den Reiter Keywords und wählen darunter die Kriterien so, dass sich der Filter ergibt
Location – begins with – c:wwwprojekte

Netbeans eigener Filter

Wenn Sie mit OK bestätigen, ist dieser benannte Filter gleich aktiviert und Sie sehen nur noch Meldungen, die Ihren eigenen Code betreffen. Von nun an erscheint der neue Filter in der Liste, die Sie mit dem Pfeil neben dem Filtersymbol erreichen.

Ein Klick auf das Filtersymbols selbst schaltet alle Filter aus, entspricht also dem Eintrag Show All der Liste. Ob ein Filter wirkt, sehen Sie daran, ob der Filterknopf gedrückt ist oder nicht.

So passen Sie die automatisch generierten Todo-Meldungen an Ihre Wünsche an

Wenn Sie die Liste der Schlüsselwörter für Kommentarinhalte ändern möchten, die in der Aufgabenliste erscheinen sollen, geht das ganz einfach.

Unter Tools – Optiones – Miscellanous – Tasks bearbeiten Sie die voreingestellten Keywords oder legen sich eigene an.

So verschwindet in Netbeans die Meldung “Authenticity of host …”

Wenn Sie in der Programmierumgebung Netbeans Ihre Programmdateien nicht lokal speichern, sondern per SFTP auf einem anderen Rechner ablegen, wird Sie wahrscheinlich bei jedem Schreiben und Download eine Fehlermeldung nerven, die auf ein Problem mit dem “RSA-Fingerabdruck” hinweist.

Das Problem dabei ist, dass Netbeans für beim SFTP-Zugriff die sichere Verbindung via SSH nutzt.

Teil des Konzepts ist, dass von der Gegenseite ein eindeutiger “Fingerabdruck” übermittelt wird. Den soll sich Ihr Computer merken, damit er bei jeder weiteren Verbindung geprüft werden kann. Weicht er ab, kann das auf eine Manipulierung des Servers hinweisen, also zum Beispiel auf einen Hack.

Der Grund für die Meldung ist in diesem Fall aber kein Angriff. Stattdessen meldet Netbeans damit nur, dass es keinen gespeicherten Fingerabdruck hat.

Das kommt meist einfach daher, dass Sie in der Projektonfiguration keine Datei angegeben haben, in der Netbeans sich diese Informationen speichern kann. Die Lösung besteht also darin, dies nachzuholen.

Netbeans Fehlermeldung Authenticity

Die Fehlermeldung “The authenticity of host…” loswerden

Zuerst legen Sie eine leere Textdatei an. Als Speicherort dafür eignet sich das Verzeichnis “NetbeansProjects”, das in Unterordnern Ihre Projekte enthält. Im Prinzip können Sie diese Datei an einem beliebigen Ort ablegen. Im genannten Ordner, also direkt neben den Projektdaten, ist eben ein logischer Speicherplatz.

Im Ordner legen Sie mit einem Texteditor eine leere Textdatei an. Unter Windows wäre das zum Beispiel der Editor oder Mac OS X das Programm Textedit. Nennen Sie diese zum Beispiel “known_hosts.txt”.

Öffnen Sie in Netbeans die Eigenschaften des Projekts.

Wechseln Sie im erscheinenden Dialogfenster auf die Kategorie Run Configuration und klicken auf den Knopf Manage neben der gewählten SFTP-Verbindung.

Netbeans Known Hosts 1

Rechts neben dem noch leeren Feld “Known Hosts File” finden Sie den Knopf Browse, mit dessen Hilfe Sie die zuvor angelegte Textdatei auswählen.

Netbeans Known Hosts 2

Das war´s schon: Wenn Sie nun Speichern oder die Daten per Download vom Server aktualisieren, erscheint einmalig noch die nervige Meldung. Dabei wird aber in die Datei der Fingerabdruck des Servers geschrieben und beim nächsten Mal ausgelesen. Die Meldung ist damit Geschichte.

So gehen Sie bei weiteren Projekten vor

Weil die Dateiverknüpfung auf Projektebene geschieht, könnten Sie für jedes Projekt eine eigene known_hosts-Datei anlegen. Das macht aber normalerweise keinen Sinn.

Stattdessen geben Sie beim nächsten Projekt mit SFTP-Anbindung dieselbe Datei nochmals an.

Handelt es sich um einen anderen Server, wird dessen Kennung einfach an die Datei angehängt. Netbeans holt sich dann je nach Bedarf den richtigen Schlüssel aus der zentralen known_hosts.txt heraus.

FTP-Fehler beheben

Falls Sie Windows 7 und das JDK 7 einsetzen, kann es bei der Arbeit mit der Programmierumgebung Netbeans zu Problemen kommen. Wenn Sie damit auf einen entfernten Server per FTP zugreifen möchten, erscheint nach kurzer Zeit eine Fehlermeldung.

Das Problem liegt daran, dass seit der  Version 7 die Java-Bibliotheken Socket-Aufrufe für IPv6 nutzen. Die funktionieren zwar auch, wenn Ihr Computer  nur das ältere IPv4A verwendet, aber die Windows-Firewall kommt damit offensichtlich nicht zurecht. Denn sie blockt diese Verbindungsversuche.

Genauere Infos zum Problem finden Sie im Bugreport von Netbeans.

Netbeans Synchronization Cancelled

Um die Firewall zu öffnen können Sie entweder über deren Oberfläche eine Ausnahmeregel für das JDK definieren oder mit einer einfachen Kommandozeile die Stateful Inspection für das FTP-Protokoll ausschalten. Wir zeigen Ihnen den zweiten Weg.

Firewall für Netbeans umstellen

Dazu öffnen Sie ein Kommandozeilenfenster im Administratormodus. Das geht beispielsweise über die Eingabe von “cmd” im Eingabefeld des Startmenüs, das Sie aber nicht mit einfachem [Return], sondern mit der Tastenkombination [Strg]+[Shift]+[Return] abschließen.

Zur Sicherheit prüfen Sie, ob das Kommandozeilenfenster mit “Administrator” beginnt.

Nun tippen Sie ein

netsh advfirewall set global StatefulFtp disable

Damit sollte die Firewall dauerhaft umgestellt sein, so dass das Problem nicht mehr auftritt.

Eine Alternative zur Firewall-Umstellung

Sollte die Manipulation der Firewall für Sie nicht möglich oder unerwünscht sein, können Sie als Ausweg noch das JDK 7 deinstallieren und zurück zu einer niedrigeren Java-Version gehen, etwa dem “Java SE Development Kit 6“.

So bekommen Sie Netbeans nach dem Lion-Update wieder zum Laufen

Wenn Sie auf Ihren Mac Netbeans nutzen, wird es nach dem Update auf OS X Lion nicht mehr funktionieren: Nach dem Anklicken startet das Programm einfach nicht, ohne jegliche Fehlermeldung.

Der Grund ist, dass anscheinend mit dem Update auf Lion eine installierte Java-Runtime entfernt wird. Mit dem Installieren von Java ist das Problem behoben.

Rufen Sie über Spotlight die Java-Einstellungen auf.

Dabei merkt Ihr System, dass die Java-Runtime noch fehlt und bietet die Installation an.

Nach dem Download und Setup der Runtime sollte Ihr Netbeans ohne weitere Eingriffe einfach wieder funktionieren.

So stellen Sie in Netbeans 7.2 die alten Bookmark-Tasten wieder her

Mit der Version 7.2 hat sich die Behandlung der Lesezeichen in der Entwicklungsumgebung Netbeans verändert.

In früheren Versionen sprang der Editor beim Drücken der Tastenkombinationen [Strg] + [Umschalten] + [,] und [Strg] + [Umschalten] + [.] einfach zum vorigen bzw. nächsten Bookmark im aktuellen Programm.

So funktioniert die neue Lesezeichen-Logik

Seit Netbeans 7.2 öffnet sich stattdessen ein kleines Fenster an der Cursorposition, das eine Historie aller Bookmarks zeigt.

Netbeans Neue Lesezeichenlogik

Innerhalb der Liste schalten Sie mit weiteren Betätigungen der Tasten zum nächsten Lesezeichen. Lassen Sie los, springt der Editor zum aktuell markierten Bookmark.

So stellen Sie das frühere Verhalten wieder her

Die Funktionen zum einfachen Wechseln sind in Netbeans immer noch vorhanden, Sie müssen lediglich die Tastenkombinationen wieder mit ihnen verknüpfen.

Im ersten Schritt entfernen Sie die Zuordnung der beiden Tastenkombinationen zur neuen Funktionalität.

Dazu gehen Sie zu Extras-Tastenbelegung und geben im Suchfenster “bookmark” ein. Nun erscheinen die beiden Einträge Bookmark History Popup Previous und Bookmark History Popup Next. Klicken Sie in beiden Einträgen auf die Schaltfläche mit den drei Punkten hinter der zugewiesenen Tastenkombination und wählen die Option Löschen.

Nun fehlt noch die Zuordnung der Tasten zu den gewünschten alten Funktionen. Die haben – zumindest in der aktuellen getesteten Version – bereits eingedeutschte Namen. Geben Sie im Suchfeld “lesezeichen” ein und Sie sehen die beiden Einträge Nächstes Lesezeichen und Voriges Lesezeichen. Klicken Sie in beiden Zeilen im leeren Eingabefeld in der Spalte Shortcut doppelt und drücken danach die jeweilige Tastenkombination.

Netbeans alte Lesezeichen-Logik restaurieren

Nun schalten die Tasten wieder einfach vor und zurück in den Bookmarks der aktuellen Datei.

Falls Sie doch einmal die Datei-übergreifende Navigation via Bookmarks erreichen möchten, können Sie ja andere Tastenkombinationen mit den neuen Funktionen verknüpfen, wie etwa das noch unbelegte Paar [Strg]+[Alt]+[Pfeil links] und [Strg]+[Alt]+[Pfeil rechts].

Ähnliche Beiträge