Domanda

Ho Eclipse 3.3.2 con PDT che sta sviluppando PHP. Tutti i progetti che creo, anche i progetti SVN, hanno il completamento del codice. Ora ho appena aperto un altro progetto SVN e non ha il completamento del codice o modelli PHP (lo spazio CTRL non fa nulla in quel progetto). Tuttavia, posso aprire gli altri progetti e completare il codice in tutti i loro lavori.

Perché il completamento del codice e i modelli dovrebbero essere " off " in un solo progetto e come posso riaccenderlo?

È stato utile?

Soluzione

Forse Eclipse non capisce che il progetto ha un " PHP nature " ;. Prova a confrontare il file .project su entrambi i progetti per cercare le differenze. Dovrebbe contenere qualcosa del tipo:

 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>

Il file .project sarà nell'area di lavoro nelle directory del progetto.

Altri suggerimenti

Cerca il percorso del file .build nel tuo progetto ... inserisci questa riga tra i tag:

<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>

Salvalo e riavvia eclipse. Ora tutto dovrebbe andare bene ... Questo ha funzionato per me. :)

Grazie! Ho trascorso tutto il giorno a capire perché non avevo il completamento del codice ...

Il problema è che se si crea un progetto SVN il .project è un file di base senza riferimento al completamento del codice. Devi creare un progetto PHP di base e confrontare i due file e sostituire la parte mancante nel progetto SVN.

Ora ho il completamento del codice per ogni file nel progetto, anche per la libreria Zend Framework

È solo una riga da aggiungere nel file .project e quindi riavviare eclipse per ottenere il completamento del codice: Dove dice

---
 <natures>
 </natures>
---

dopo la modifica deve essere

---
 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>
---

Quello dovrebbe fare.

@Guido PHPNature non risolve questo problema.

@Edward Tanguay Sì, perché quando crei un nuovo progetto PHP, eclipse aggiunge il file .buildpath con

<?xml version="1.0" encoding="UTF-8"?><buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/></buildpath>

quando importi un progetto esistente eclipse non genera file .buildpath, ma puoi aggiungerlo manualmente o creare un nuovo progetto PHP con sorgente esistente (puoi scegliere nella procedura guidata).

A volte ho lo stesso problema. Per me funziona per ricostruire il progetto PHP con & Quot; Progetto & Quot; - gt &; & Quot; quot Clean &;.

Se hai questo problema, segui questi passaggi:

  • Seleziona " PHP Includi percorso " nella struttura del tuo progetto
  • Fai clic destro su di esso, quindi fai clic su " Build Path > Configura Build Path "
  • Nella finestra di apertura, aggiungi la cartella che vuoi compilare, in modo che possa fare da codice assist.

Questo è tutto :) Spero che risolva il tuo problema, ho risolto il mio :)

Assicurati che il file si apra con " editor PHP " ;. Fai clic con il pulsante destro del mouse sul file e seleziona apri con per selezionare l'editor giusto.

Se si scopre che si sta utilizzando l'editor errato, è possibile modificare l'associazione in Preferenze & # 187; Generale & # 187; Tipi di contenuto

Fai clic destro nella schermata di modifica, vai a Java - > Editor - & Gt; Content Assist - & Gt; Avanzate ... seleziona le proposte di conseguenza

ATTENZIONE

Oltre alle soluzioni già menzionate per far funzionare l'intero aiuto per il completamento automatico, c'è un'altra stranezza: potrebbe non essere abilitato.

Vai a Window > Proprietà e quindi a PHP & Gt; Editor & Gt; Code Assist (JAVA ha un'opzione simile) e imposta & Quot; Abilita l'attivazione automatica & Quot ;, preferibilmente con un ritardo che vedi comodo (0ms). Se sei infastidito dal programma che decide improvvisamente di fare le cose per te senza sollecito (e lo fa male), deseleziona & Quot; Inserisci automaticamente singole proposte & Quot; e dovresti stare bene.

A volte l'ho notato quando esegui il checkout di un progetto da svn in eclipse (sovversivo o subsclipe " verifica un progetto come ") e anche se lo controlli come progetto php, elimina il file .project o sarebbe un progetto generico. Ho scoperto di andare in quella directory ed eliminare .project .settings / e .cach /

Quindi crea un nuovo progetto php e punta la directory in cui hai estratto i file. E dovresti avere il completamento del codice e svn dovrebbe essere link al tuo repository.

Ho avuto un problema con il percorso di compilazione vuoto, quindi nessun completamento del codice per nessuno dei file che ho provato a modificare. Assicurati di aver impostato correttamente il tuo percorso di compilazione, specialmente se stai collegando la fonte da una posizione diversa dall'area di lavoro.

Come ad esempio la cartella htdocs di apache.

L'ho risolto abilitando l'indicizzatore Full C / C ++ (Windows - > properties - > C / C ++ - > Indexer) e ho anche premuto il pulsante di opzione quot; Usa la configurazione pulsante attiva " ;. Dopo quello Pulisci e costruisci tutto.

Funzionava con Eclipse CDT 3.4

Se sei venuto qui cercando il completamento del codice in php eclipse non funzionante, assicurati che il tuo progetto sia supportato come progetto php. Fare clic con il tasto destro sul progetto e poi andare a configurare - & Gt; Aggiungi il supporto php. Se hai le giuste impostazioni per il code assist, dovrebbe funzionare istantaneamente. A volte i neofiti come me modificano i progetti o iniziano i progetti in modo pulito e non come php, quindi eclissi non sa come trattare il progetto.

Ho dovuto fare clic con il pulsante destro del mouse sul progetto in PHP Explorer, andare su " PHP Build Path " ;. Questo era vuoto. Ho fatto clic su & Quot; Aggiungi cartella & Quot ;, ho selezionato la casella di controllo accanto alla cartella principale del mio progetto e ho fatto clic su & Quot; OK & Quot ;, quindi & Quot; OK " ancora una volta.

Dopo quel completamento del codice sembrava funzionare. Dovrebbe funzionare fuori dagli schemi se me lo chiedi, ma comunque.

Controlla la lib del tuo progetto. È possibile che tu abbia incluso due di questi file jar in cui è disponibile la stessa classe o che una classe nel codice può essere rifratta in due file jar. In tal caso, anche eclipse interrompe l'assistenza al codice in quanto è totalmente confuso.

Il modo migliore per verificare questo è andare al file dove assist non funziona e commentare tutte le importazioni lì, quindi aggiungere le importazioni una per una e controllare ad ogni importazione se il codice assist funziona o no. Puoi facilmente trovare la classe con riferimenti duplicati.

Una soluzione potrebbe essere quella di includere un file php fittizio che richiede tutte le classi PHP. In modo che il parser PHP riconosca anche queste classi. Esempio di file fittizio:

if(false) {
     require_once 'class/one.php';
     require_once 'class/two.php';
     require_once 'class/three.php';
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top