2009-05-16 8 views
26

Vor kurzem begann ich NetBeans 6.7 beta für PHP-Entwicklung anstelle von Textmate und MacGDBp zu verwenden. Ich bin ziemlich erstaunt über das Feature-Set und das meiste funktionierte aus der Box, oder war einfach nach meinen Wünschen konfiguriert.NetBeans PHP Code Vervollständigung

Ich habe ein Problem mit den Codevervollständigungsfunktionen obwohl; Sie arbeiten für Build-in-Funktionen, SPL und einige von meinem Code, aber nicht alle von meinem Code, speziell funktioniert es nie für irgendwelche Methoden in meinen Klassen, unabhängig von PHPDoc-Kommentaren.

Ich kann keine anständigen Fragen finden, geschweige denn Antworten zu diesem speziellen Thema überall. Es sieht so aus, als ob alle anderen, die Probleme mit der Code-Vervollständigung haben, die Auto-Popup-Funktion nicht aktiviert haben.

Die große Frage ist:

Gibt es eine Möglichkeit, die Code-Vervollständigung Cache zu beeinflussen, oder ich etwas zu meinem Code hinzufügen, damit es funktioniert? Ich würde wirklich gerne Code-Vervollständigung für die Methoden haben, die ich schreibe.

PS: Ich habe mehrere ältere Versionen von Netbeans versucht, sie alle zeigen das gleiche Problem.

bearbeiten: Ich habe ein. Zip up meines aktuellen Testprojekts. get it here. Es ist ein sehr junges Projekt, denke anderthalb Tage.

edit2: Unten ist ein Screenshot von dem, was ich sehe. Wie Sie sehen können, ist es nicht möglich, so gut wie alles zu vervollständigen, noch sieht es die PHPDoc-Dokumentation.

alt text http://develop.theredhead.nl/~kris/stackoverflow/netbeans-code-completion-fail-screenshot.png

+0

Sie einen vollständigen Code + PHPDoc Probe zur Verfügung stellen kann, so dass wir es ausprobieren können? –

+0

Ich benutze Netbeans 6.5 auf Mac und es vervollständigt automatisch für alle meine Code und Klassen - könnte es ausschließlich eine 6.7 Beta-Sache? – karim79

+0

Angst nicht, 6.1 und 6.5 taten genau das Gleiche und sahen nur etwas weniger attraktiv aus. – Kris

Antwort

42

Ich habe versucht, zu öffnen scheint Ihr Projekt, und die Fertigstellung ist für mich zu arbeiten, einfach gut.

Das einzige, was mir einfällt, ist zu versuchen, Ihren gesamten NB-Cache zu löschen, der sich in $HOME/.netbeans/$VERSION/var/cache/ befinden sollte. Dies ist eine wilde Vermutung

Erstellen Sie zuerst eine Sicherung, ich habe dies nicht versucht!

Wenn das fehlschlägt, sollten Sie vielleicht versuchen, ein neues Projekt zu erstellen, vielleicht wird das NB in ​​den Hintern treten.

Beachten Sie, dass in NB 7.2 beta der Cache nach $ HOME/.cache/netbeans/$ VERSION verschoben wurde.

+2

Ich war _really_ zögernd, dies zu versuchen, aber es hat tatsächlich das Problem behoben. (rm -rf'ing den Cache) – Kris

+0

Kewl, jetzt weiß ich, was zu tun ist, wenn mir das jemals passiert :) Seltsam, dass es überhaupt passiert ist ... –

+0

Arbeitete für mich, danke! –

2

Was für mich funktionierte, war das Löschen des Caches und das explizite Einfügen einiger Schlüsselunterverzeichnisse in den globalen Include-Pfad. Es scheint, dass NB 6.7 die Verzeichnisse nicht wiederholt hat.

auf Projektebene einschließlich arbeitete auch Ausbau-> Einstellungen-> Fügen Sie Pfad Netbeans 7,01 + Windows 7

2

Was für mich gearbeitet wurde das alte Verzeichnis nbproject Ordner löschen (das in Windows erstellt wurde) und Neuerstellung der PHP Projekt aus vorhandenen Quellen. Dies ist unter NB 7.0.1 Mac OS X. Das Löschen des Cache funktionierte nicht für mich.

+0

Ich habe nicht das gleiche Problem seit Netbeans 7.0 (obwohl Code-Vervollständigung kann immer noch flockig von Zeit zu Zeit) – Kris

2

Achten Sie auf @property something Syntax.Wenn Objekt etwas nicht mehr in Ihrem Code vorhanden ist, hat NetBeans möglicherweise Probleme mit ordnungsgemäßer Codevervollständigung. Betrachten Beispiel:

/** in main file: **/ 

use ABC as _ ; 

/** in file ABC: **/ 

/** 
    * @property \Something $something 
    */ 

Wenn Sie $something nicht mehr verwenden, NetBeans wird höchstwahrscheinlich eine Ausnahme erzeugen, wodurch keine den Code abzuschließen.

1

Wenn Sie zum Beispiel eine PHP-Datei mit NetBeans öffnen, ohne Teil eines Projekts zu sein, funktioniert die Codevervollständigung überhaupt nicht. Was Sie tun müssen, ist ein Projekt mit dieser Datei zu erstellen.

testeten diese auf NetBeans 7.0.1