Eclipse Intellisense?

89

Comment dire à Eclipse de faire automatiquement des suggestions au fur et à mesure que je tape? Je recherche une fonctionnalité de type Visual Studio Intellisense avec Resharper.

Actuellement, je dois appuyer sur CTRL+ à Spacechaque fois.

Ian Vink
la source

Réponses:

78

Vous n'êtes pas obligé d'appuyer sur CTRL* spacemais peut-être que le délai est trop grand ou que vous n'aimez pas le déclencheur (la valeur par défaut est «.»). Aller à

Fenêtre -> Préférences -> Java / Editor / Content Assist

Et modifiez les paramètres sous Activation automatique à votre guise.

Si cela ne fonctionne pas pour les utilisateurs de Windows, consultez cette réponse .

Daff
la source
1
l'utilisateur Kevin Rossi a essayé de modifier pour indiquer ceci (qui est vraiment un commentaire): "Cela ne fonctionne pas avec la distribution Eclipse Juno C / C ++"
Denys Séguret
Chaque éditeur d'Eclipse peut avoir ses propres déclencheurs d'activation automatique - l'activation sur les mêmes caractères n'aurait aucun sens dans aucune langue.
nitind
Dans Mac c'estADT -> Preferences -> Java/Editor/Content Assist
Adil Malik
170

Je me rapproche du comportement de type VisualStudio en définissant le "Déclencheur de saisie semi-automatique pour Java" sur

.(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

et régler le délai sur 0.

Maintenant, j'aimerais savoir comment rendre le nom de la méthode de saisie semi-automatique lorsque j'appuie sur (comme le fait Intellisense de VS.

Tony
la source
1
De quelle version d'Eclipse s'agit-il? La zone de texte "Déclencheurs d'activation automatique pour Java" me permet de saisir seulement 4 caractères.
Zesty
3
Cela fonctionne très bien. Beaucoup mieux, car il affichera en fait les variables locales et tout maintenant. Merci! @ HappyCoder4U Cela peut ne pas aider, mais j'utilise eclipse 3.7M5.
Howler
2
vous êtes un génie :) pas de tel paramètre pour les langues non-java cependant :(
Ivan G.
1
Impressionnant. Je vous remercie! En utilisant Eclipse sur Mac (3.6.1), le nom du paramètre est ``
Déclencheurs d'
4
Tout a fonctionné mais maintenant j'obtiens un comportement très irritant: supposons que je veuille taper "private int counter"; Je commence par private et la saisie semi-automatique démarre avec quelques suggestions (le premier est PrivateCredentialPermission). Quand j'ai fini de taper private et d'appuyer sur "espace", PrivateCredentialPermission est inséré. Un moyen de contourner cela?
VM4
41

Tony est un pur génie. Cependant, pour obtenir un achèvement automatique encore meilleur, essayez de définir les déclencheurs sur ceci:

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

(spécifiquement classés par ordre d'utilisation pour des performances plus rapides :)

d3dave
la source
2
Cette méthode introduit quelques bogues. Par exemple, si je tape =, cela suggère immédiatement quelque chose. Si j'appuie sur espace, = il insère automatiquement la première correspondance.
theGreenCabbage
vérifier la proposition Java, la proposition Java Type et la proposition java non-type et les déplacer vers le haut dans l'ordre, a fonctionné pour moi.
Shailendra Singh Rajawat
Voir cette question de débordement de pile pour quelques solutions au problème d'espace: stackoverflow.com/questions/14297735/...
William Dutton
Tous les caractères spéciaux rendront l'acte Intellisense foutu, sauf pour le point. Fondamentalement, si vous ne le souhaitez jamais à Intellisense après la saisie d'un caractère, vous ne le souhaitez pas dans cette liste.
Andrew
6

Si cela ne fonctionne pas même lorsque Code Assist est déjà activé, les fichiers de configuration d'Eclipse sont probablement corrompus. Une solution qui a fonctionné pour moi (sur Eclipse 3.5.2) était de:

  1. Fermez Eclipse.
  2. Renommez le répertoire de l'espace de travail.
  3. Démarrez Eclipse. (Cela crée un nouveau répertoire d'espace de travail.)
  4. Importez (avec copie) les projets Java de l'ancien espace de travail.
Rok Strniša
la source
Fixé pour moi aussi
Kenci
Belle solution, cela m'a été vraiment utile, mon Eclipse n'a pas pu afficher intellisense après (.), J'ai dû utiliser ctrl + space 3 fois pour le montrer, merci pour la belle solution :-)
Muhammad
3

Une fois, j'ai eu le même problème, puis j'ai cherché et trouvé ceci et cela a fonctionné pour moi:

J'avais décoché certaines cases, alors je les ai vérifiées à nouveau, puis cela a fonctionné. Allez simplement à

Windows> Préférences> Java> Editeur> Content Assist> Avancé

et cochez les cases souhaitées.

utilisateur3074382
la source
3

La réponse de d3dave est cool. Cependant, theGreenGarbage a mentionné un problème à ce sujet que je trouve moi aussi plutôt ennuyeux. Voici donc celui qui ne suggère pas immédiatement quelque chose après le signe '=' et lors de la saisie d'un espace vide:

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

Ce que j'ai fait, c'est simplement supprimer l'espace et les caractères '=' du tableau :)

Sinon, si vous voulez des suggestions lors de la saisie d'un espace vide, mais pas après le signe '=':

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz .(!+-*/~,[{@#$%^&
MuhsinFatih
la source
Cela devrait être la réponse acceptée. Cependant, cela conduit à un peu de retard.
Neil Chowdhury