Eclipse Intellisense?


89

Come faccio a dire a Eclipse di fornire automaticamente suggerimenti durante la digitazione? Sto cercando una funzionalità simile a Visual Studio Intellisense con Resharper.

Attualmente devo premere CTRL+ Spaceogni volta.

Risposte:


78

Non è necessario premere CTRL* spacema forse il ritardo è troppo grande o il trigger non ti piace (l'impostazione predefinita è "."). Vai a

Finestra -> Preferenze -> Java / Editor / Content Assist

E modifica le impostazioni in Attivazione automatica a tuo piacimento.

Se questo non funziona per gli utenti di Windows, vedere questa risposta .


1
l'utente Kevin Rossi ha provato a modificare per indicare questo (che è davvero un commento): "Questo non funziona con la distribuzione Eclipse Juno C / C ++"
Denys Séguret

Ogni editor in Eclipse può avere i propri trigger di attivazione automatica: l'attivazione sugli stessi personaggi non avrebbe senso in nessuna lingua.
nitind

In Mac èADT -> Preferences -> Java/Editor/Content Assist
Adil Malik

170

Mi sono avvicinato al comportamento simile a VisualStudio impostando il "Trigger di completamento automatico per Java" su

.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

e impostando il ritardo su 0.

Ora mi piacerebbe rendermi conto di come rendere il nome del metodo di completamento automatico quando premo (come fa Intellisense di VS.


1
Quale versione di eclipse è questa? La casella di testo "Trigger di attivazione automatica per Java" mi consente di inserire solo 4 caratteri.
Zesty

3
Funziona molto bene. Molto meglio, poiché ora mostrerà effettivamente le variabili locali e tutto il resto. Grazie! @ HappyCoder4U Potrebbe non essere d'aiuto, ma sto usando eclipse 3.7M5.
Howler

2
sei geniale :) nessuna impostazione simile per le lingue non Java però :(
Ivan G.

1
Eccezionale. Grazie! Utilizzando Eclipse su Mac (3.6.1) il nome del parametro è "Trigger di attivazione automatica per Java"
ninjaPixel

4
Tutto ha funzionato ma ora ottengo un comportamento molto irritante: supponiamo di voler digitare "private int counter;" Comincio con privato e il completamento automatico inizia con alcuni suggerimenti (il primo è PrivateCredentialPermission). Quando ho finito di digitare private e premere "spazio" PrivateCredentialPermission viene inserito. Qualche modo per aggirare questo?
VM4

41

Tony è un puro genio. Tuttavia, per ottenere un completamento automatico ancora migliore, prova a impostare i trigger su questo:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz =.(!+-*/~,[{@#$%^&

(specificatamente disposto in ordine di utilizzo per prestazioni più veloci :)


2
Questo metodo introduce alcuni bug. Ad esempio, se digito =, suggerirei immediatamente qualcosa. Se premo spazio, = inserirà automaticamente la prima corrispondenza.
theGreenCabbage

controllando la proposta Java, la proposta di tipo Java e la proposta non di tipo java e spostandole in cima in ordine, ha funzionato per me.
Shailendra Singh Rajawat

Vedi questa domanda di overflow dello stack per alcune soluzioni al problema dello spazio: stackoverflow.com/questions/14297735/…
William Dutton,

Tutti i personaggi speciali renderanno l'atto di Intellisense eccentrico tranne che per il periodo. Fondamentalmente, se non lo vorrai mai su Intellisense dopo che un carattere è stato digitato, non lo vuoi in questo elenco.
Andrew

6

Se non funziona anche quando è già abilitato Code Assist, i file di configurazione di Eclipse sono probabilmente danneggiati. Una soluzione che ha funzionato per me (su Eclipse 3.5.2) è stata:

  1. Chiudi Eclipse.
  2. Rinomina la directory dell'area di lavoro.
  3. Avvia Eclipse. (Questo crea una nuova directory dell'area di lavoro.)
  4. Importa (con copia) i progetti Java dal vecchio spazio di lavoro.

Risolto il problema anche per me
Kenci

Bella soluzione, è stato davvero utile per me, il mio Eclipse non è stato in grado di mostrare intellisense dopo (.), Ho dovuto usare ctrl + spazio 3 volte per mostrarlo, grazie per la bella soluzione :-)
Muhammad

3

Una volta ho avuto lo stesso problema, quindi ho cercato e trovato questo e ha funzionato per me:

Avevo deselezionato alcune caselle, quindi le ho controllate di nuovo, poi ha funzionato. Vai a

Windows> Preferenze> Java> Editor> Content Assist> Avanzate

e seleziona le caselle che desideri.


3

La risposta di d3dave è fantastica. Tuttavia, theGreenGarbage ha menzionato un problema che anch'io trovo piuttosto fastidioso. Quindi eccone uno che non suggerisce immediatamente qualcosa dopo il segno "=" e quando si digita uno spazio vuoto:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.(!+-*/~,[{@#$%^&

Quello che ho fatto è stato semplicemente rimuovere lo spazio e i caratteri "=" dall'array :)

In alternativa, se desideri suggerimenti quando digiti uno spazio vuoto, ma non dopo il segno "=":

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .(!+-*/~,[{@#$%^&

Questa dovrebbe essere la risposta accettata. Tuttavia, porta a un po 'di ritardo.
Neil Chowdhury
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.