Question

Eclipse ne trouve pas la bonne variable pour compléter le code comme indiqué ci-dessous.

int i = 0;
f(xyz);    // f takes an int but eclipse won't fill it with i.
Était-ce utile?

La solution

Dans la section "Fenêtre"> "Préférences"> "Java"> "Editor"> "Content Assist", assurez-vous "arguments Fill méthode et afficher les arguments guess" est réglé et "Insérer meilleurs arguments devinés" est sélectionné.


Edit:

J'ai essayé dans mon Eclipse (Version: service Helios Release 1 - Construire id: 20100917-0705):

public class BestGuessedParameter {
    static int xyz = 1;
    static void f(final int xyz) {
    }
    public static void main(final String[] args) {
        final int i = 0;
        f/*cursor here*/
    }
}

Juste après avoir tapé le f, je frappe l'espace et f(xyz) sélectionné, Eclipse a fait l'offre f(i) avec i mis en évidence et dans un menu déroulant en bas de i (souligné), xyz et 0. i était la valeur par défaut.

Je ne pouvais pas trouver d'informations sur la façon dont Eclipse sélectionne les « meilleurs paramètres devinés » (je ne sais pas où chercher dans la source Eclipse). Je suppose que Eclipse « » suppositions basées sur le type, le nom et la visibilité, et que Eclipse pense qu'il ya une meilleure correspondance que votre variable locale. Peut-être que si la variable locale étaient plus proches du type et de nom, ce serait un meilleur match?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top