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.

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 .


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.


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 :)


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.

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.


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 .(!+-*/~,[{@#$%^&

Cela devrait être la réponse acceptée. Cependant, cela conduit à un peu de retard.
Neil Chowdhury
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.