2009-09-02 20 views
17

Content Assist in Eclipse 3.4 e 3.5 ha smesso di funzionare per me. Quando digito nei primi caratteri di una classe e ha colpito CRTL-spazio poi, dopo un ritardo ottengo il seguente messaggio di errore alt text http://locuslive.com/webdrive/JDTscreenshot.pngEclipse Java Content Assist non funziona

Non importa quali proposte attiva/disattiva, mi metterò questo (o simile) Messaggio.

ho provato:

  • Modifica delle Xms/Xmx valori

  • partire Eclipse con -clean

  • Creazione di un nuovo spazio di lavoro e importando i miei progetti

Tuttavia nessuno di questi ha funzionato.

Ho visto alcuni post che suggeriscono che altre app potrebbero occupare lo spazio CRTL o interferire in altro modo, tuttavia non ho nulla a parte un nuovo Eclipse in esecuzione e il problema persiste.

Il mio problema è molto simile a quello coperto da this post anche se in una versione successiva e su OSX 10.5.7.

Qualcuno ha qualche suggerimento su come questo potrebbe essere risolto?

Grazie.

UPDATE: Per chiunque sia interessato ho ottenuto i risultati migliori utilizzando Eclipse 3.5 Classic (ad esempio Mylyn non include). Ho anche usato le impostazioni specificate nelle segnalazioni di bug collegate da VonC di seguito.

È interessante notare che Classic non viene fornito con alcune viste, ad es. Frammenti, ma questi sono facili da inserire da un'altra distribuzione.

UPDATE 2: questo problema in realtà persisteva anche con le ultime versioni di Eclipse (3.6 M1). È causato da un grande file JAR generato da Altova Mapforce per gestire le trasformazioni EDIFACT nella nostra applicazione. È riproducibile aggiungendo questo JAR al percorso di costruzione e nessuna modifica alla guida alle impostazioni di Content Assist. L'errore (e JAR) può essere visto su https://bugs.eclipse.org/bugs/show_bug.cgi?id=289057

+0

Può essere correlato al bug 281871, vedere la seconda parte della mia risposta. – VonC

+0

È possibile modificare la configurazione per risolvere questo problema: https://stackoverflow.com/a/46727305/3237665 – mkebri

risposta

15

the Mylyn FAQ fa menzione:

Perché ricevo un messaggio di errore quando si utilizza il contenuto assistere?

Se dopo aver richiamato Content Assist viene visualizzato un dialogo messaggio di errore che:

The extension took too long to return from the 'computeCompletionProposals()' operation 

http://wiki.eclipse.org/images/0/0a/Mylyn-content-assist-timeout.gif

questo è più probabile dovuto a qualcosa di interrompere l'operazione proposta (ad esempio, la raccolta dei rifiuti). Ignoralo se non si ripresenta, aumenta la memoria di Eclipse se lo fa (ad esempio tramite l'argomento della riga di comando -Xmx384M). Vedi bug 141457 per maggiori dettagli.

noti che Mylyn deve solo aggiungere una quantità insignificante di overhead al contenuto aiutare calcolo, tuttavia, il contenuto standard assist meccanismo non riferirà timeout di questo tipo (cioè tenendo più di 5s per calcolare proposte).
Se il sistema su cui si sta lavorando è così grande che l'aumento della memoria non riduce i tempi per evitare il messaggio, si potrebbe anche considerare di disabilitare l'assistenza ai contenuti specifica di Mylyn, come descritto sopra, ma in tal caso si prega di commentare bug 141457 .


È possibile trovare buone impostazioni eclissi in questo SO answer.
Dal momento che avete già provare ad aumentare la memoria, è possibile lasciare un commento sul bug 141457.

Questo potrebbe essere correlato al bug 281871, fissato solo in Eclipse 3.5.1 e 3.6.

Lo vedo ora. Il problema è che il code assist inizia a utilizzare il modello Java se l'indice non è ancora aggiornato.

È possibile attendere fino al termine dell'indicizzatore o aumentare il timeout di impostando la variabile di ambiente Java 'org.eclipse.jdt.ui.codeAssistTimeout' all'avvio di Eclipse, ad es.

-vmargs -Dorg.eclipse.jdt.ui.codeAssistTimeout=60000 
+0

wow bella risposta :) –

+0

Grazie. Sembra un bug 281871. Ho aggiunto il codeAssistTimeout e tutto funziona. Ora basta decidere se rimanere con Mylyn o EclipseClassic. – Damo

1

Sembra che l'installazione di mylyn sia danneggiata, provare a rimuovere il plug-in mylyn e vedere come si va avanti.

+0

Paul (e Daniel), grazie per il suggerimento su Mylyn. Ho scaricato Eclipse 3.5 Classic che viene fornito senza Mylyn e questo ha fatto qualche differenza. Almeno posso continuare a lavorare ora. Saluti. – Damo

1

Quando ho avuto un problema simile, ho semplicemente disinstallato l'integrazione Mylyn/Java. Non uso Mylyn, e anche se so che alcune persone ritengono che sia la cosa migliore dopo il pane a fette, non ho mai trovato altro che un modo per rovinare il completamento del mio nome.

Si noti che si non si desidera disabilitare le "Proposte Java (incentrate sulle attività)" che quel messaggio di errore cercava di dirti. Ciò disabiliterà anche il completamento del nome.

0

ho avuto lo stesso problema, ma i miei problemi sono iniziati quando aggiorno il mio progetto da GWT 1.5 a GWT 1.7. Ho letto i tuoi commenti e faccio solo due modifiche. Aumentare l'Xmx a -Xmx768m e deselezionare Proposte Java (focalizzate su attività) e contrassegnare solo Proposte Java. Sta funzionando bene da quando ho fatto questi cambiamenti. Spero possa aiutarti.

0

Ho avuto lo stesso problema su eclipse 3.5. L'aggiornamento delle funzionalità di mylyn lo ha risolto

0

Mylyn (o il suo codice di assistenza) sembra essere piuttosto schizzinoso sulle risorse nel percorso di generazione.

Avevo il problema ed era causato da file binari che avevo accidentalmente aggiunto al percorso costruito da Eclipse. Ciò non causa alcun errore o avviso di compilazione ma causa l'eccezione durante il completamento del codice che menzioni nel tuo post.

2

Per me funziona facendo prefrerences>> Generale> Ripristina impostazioni predefinite

Non sapere la sua folle ma è ciò che finalmente funziona dopo tutto il googling e sentiero seguito.

saluti, Manish

+0

Se leggi la domanda vedrai che si trattava di un bug di Eclipse relativo a file JAR di grandi dimensioni. Questo è stato corretto nella versione 3.6M6 di Eclipse. – Damo

+0

Risolto un problema riscontrato con 3.7 –

0

contenuti Configurare Eclipse assistere, go “Preferenze> Java> Editor> Content Assist> Avanzate”. Assicurati che "Altre proposte Java" siano spuntate. Questa potrebbe essere la soluzione più semplice ... :-)

+0

Leggete la domanda un po 'più in particolare il bit sotto "UPDATE 2". È un bug di Eclipse e nessuna guida alle impostazioni di Content Assist. Il bug è stato risolto in Eclipse 3.6M6. – Damo

10

Ho eseguito lo stesso, Content Assist non funziona in Eclipse 3.7.2. Fino a questa versione è abbastanza stabile, difficile non so come mai non ha funzionato per me.

Non ho ricevuto alcun messaggio di errore né suggerito perché non stava funzionando e mi ci è voluto un po 'per trovare l'opzione' Proposte Java '.

Si trova su Preferenze Eclipse -> Java -> Editor -> Content Assist -> Avanzate.

Verificare che Proposte Java sia selezionato.

Non hai ripetuto suggerimenti Java. Non controllare la proposta non di tipo Java né le proposte di tipo Java.

0

Uno dei miei vasi era in una condivisione di rete ed era sospeso per oltre 10 secondi. Copiato il JAR sul disco locale, aggiornato il mio progetto per puntare al file locale e il mio tempo di attesa è andato via.

0

Mi trovavo di fronte allo stesso problema.

Ho aggiunto l'opzione -vm in alto nel file eclipse.ini appena prima dell'opzione -startup. E ha risolto il problema!

-vm 
C:\Program Files\Java\jdk1.7.0_71\jre\bin\server\jvm.dll 
-startup 

La mia versione di eclissi è 4.4.1 a proposito.

Problemi correlati