Mettre à jour
Cela a été corrigé dans Eclipse 2018-12 . Ce comportement est toujours par défaut, mais peut être configuré hors - voir la réponse acceptée pour savoir comment
Je laisserai la question telle qu'elle était pour la postérité et pour celles des versions précédentes d'Eclipse
Dans Eclipse, j'ai activé les suggestions de style intellisense pour Java en allant sur
Window -> Preferences -> Java/Editor/Content Assist
et définissant ce qui suit
Auto activation delay (ms) -> 0
Auto activation triggers for Java -> .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
source = Eclipse Intellisense?
Cela fonctionne brillamment, mis à part un problème ennuyeux. Quand je frappe spacebar, le jeton en cours de saisie est automatiquement complété avec ce qui se trouve en haut de la liste de suggestions. Assez juste, sauf que parfois je vais taper un nom de classe/variable avec une correspondance légale exacte, mais ceci ne n'apparaîtra pas comme la suggestion la plus haute. Alors, quand je frappe naturellement spacebar Eclipse insère quelque chose de complètement faux.
E.G. après avoir tapé
Cookie
je clique sur spacebar et obtenezCookieMonster
.
Cela ressemble à un bug et arrive assez souvent pour être ennuyeux, mais malgré cela je ne veux pas spacebar pour déclencher l'auto-complétion en général . Je peux vouloir taper un nom de variable qui n'a pas encore été déclaré, ou quelque chose de similaire. Je souhaite utiliser l'auto-complétion comme outil d'aide, mais mon typage naturel devrait toujours toujours .
Je voudrais arrêter spacebar déclencher l'auto-complétion, et soit retomber à l'aide enter, ou mieux encore, déclencher la complétion automatique avec un custom touche non utilisée pour la frappe ordinaire. Est-ce que cela est possible?
J'ai joué avec tous les paramètres de Content Assist sans succès. Googler la question renvoie simplement un tas de résultats sur la désactivation de la fonctionnalité de saisie semi-automatique.
Ce problème est résolu à partir d'Eclipse 2018-12 [4.10] voir la réponse acceptée
Il est présent dans toutes les versions précédentes, c'est-à-dire 2018-09 [4.9], Photon [4.8], Oxygène [4.7], Néon [4.6], etc.
Un correctif pour bug 348857 a récemment été fusionné avec le projet Eclipse et a été publié dans le cadre de Eclipse 2018-12 . Vous pouvez télécharger cette version ici .
Vous avez maintenant une nouvelle option pour désactiver tous les déclencheurs d’insertion, à l’exception de enter, ce qui empêchera spacebar de provoquer l'auto-complétion.
Allez simplement dans Préférences ... -> Java -> éditeur - > Assistant de contenu (ou Fenêtre -> Préférences -> Java -> Éditeur -> Assistant de contenu sous Windows) et sélectionnez Désactivez les déclencheurs d'insertion sauf 'Enter' , comme indiqué dans la capture d'écran ci-dessous:
Il existe une solution sur le suivi des problèmes pour cela. Copiez le fichier jar dans le dossier Eclipse/dropins. Au prochain redémarrage, l'espace est désactivé en tant que déclencheur d'auto-complétion.
Utiliser une version SDK d’Eclipse
1.Ouvrez les plug-ins Affichez et trouvez org.Eclipse.jface.text, cliquez avec le bouton droit de la souris, choisissez importer en tant que projet source. Après l'importation, vous le trouvez dans votre espace de travail.
2.Dans src/org/Eclipse/jface/text/contentassist/CompletionProposalPopup.Java
char[] triggers = t.getTriggerCharacter();
if(contains(triggers,key))
changer à
if(key!='='&&key!=0x20&&contains(triggers,key))
3.Export org.Eclipse.jface.text
Cliquez avec le bouton droit de la souris sur le dossier de projet de org.Eclipse.jface.text, choisissez Exporter -> Plugins et fragments déployables, puis choisissez un fichier d’archive, puis sélectionnez Destination. Remplacez celui de Eclipse/plugins par celui que vous générez.
La barre d'espace a été une clé pour sélectionner la saisie semi-automatique, même dans Indigo. À ma connaissance, cela ne peut pas être configuré… .. En fait, c'est probablement pourquoi le retard existe.
Je suggère de définir le délai sur une valeur optimale qui vous permet de taper des mots tels que private void ...
sans forcer les suggestions pour private
et void
. Ensuite, au cas où vous auriez une suggestion parce que vous avez attendu trop longtemps, appuyez sur Échap pour abandonner l'assistant de contenu.
Même configuration que davnicwil, même problème, toujours sur Eclipse 4.4.
Solution: Intercepter (raccrocher) SHIFT + SPACE (maintenir enfoncée) sur Eclipse (fenêtre d'édition) et le remplacer par ESC, SPACE (séquence). Maintenant vous ma décider entre
Sur Windows, vous pouvez utiliser http://www.heise.de/download/activaid.html (vous pouvez également utiliser AutoHotkey, le hook natif Java, ...)
Comment avec ActivAid:
Mon fichier de configuration: activAid/settings/ac'tivAid.ini: [UserHotkeys]
Hotkey11=+Space
Path11=<Send>{ESC}{SPACE}
Description11=Eclipse Shift+Space -> Esc,Space
Category11=
Application11=ahk_class SWT_Window0
Vous pouvez également remapper des touches sur des claviers non anglais avec "HotStrings", par exemple. ö -> {, ä->} etc.
Finalement, ça a fonctionné.
Essayez de télécharger ce org.Eclipse.jface.text.jar et copiez-le dans votre dossier de plug-in (typiquement Eclipse/plugin). N'oubliez pas de sauvegarder votre propre.
Fonctionne sur Eclipse Juno.
Si le lien ne fonctionne pas, commentez ceci, merci.