java - paquetes - Detener la tecla de la barra espaciadora para que no se autocomplete en Eclipse
enable eclipse autocomplete (7)
En Eclipse, vaya a Ventana -> Preferencias -> General -> Teclas y elimine el enlace del comando Asistencia de contenido.
En Eclipse Oxygen, he habilitado sugerencias de estilo intellisense para Java yendo a
Window -> Preferences -> Java/Editor/Content Assist
y establecer lo siguiente
Auto activation delay (ms) -> 0
Auto activation triggers for Java -> .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
fuente = Eclipse Intellisense?
Esto funciona de manera brillante, aparte de un problema molesto. Cuando presiono la barra espaciadora , el token que se escribe se autocompleta con lo que esté en la parte superior de la lista de sugerencias. Muy bien, excepto que a veces escribiré un nombre de clase / variable con una coincidencia legal exacta, pero esto no aparecerá como la sugerencia principal. Así que cuando, naturalmente, presiono la barra espaciadora, Eclipse inserta algo completamente incorrecto.
EG después de escribir
Cookie
voy a presionar la barra espaciadora y obtenerCookieMonster
.
Esto parece un error, y ocurre con la frecuencia suficiente como para ser molesto, pero incluso a pesar de esto , no quiero que la barra espaciadora desencadene el autocompletado en general . Es posible que desee escribir un nombre de variable que aún no se haya declarado o algo similar. Quiero usar autocompletar como herramienta de ayuda, pero mi tipeo natural siempre debe tener prioridad sobre él.
Me gustaría detener la activación de autocompletar en la barra espaciadora y volver a usar enter o, mejor aún, desencadenar autocompletar con una clave personalizada que no se usa en el tipeo normal. ¿Algo de todo esto es posible?
He jugado con todas las configuraciones en Content Assist inútilmente. Buscar en Google la pregunta solo arroja un montón de resultados sobre la desactivación de la función de autocompletar.
ACTUALIZAR
Este problema está presente en las últimas 6 versiones de Eclipse - Oxygen [4.7] Neon [4.6] Mars [4.5] Luna [4.4] Kepler [4.3] y Juno [4.2]
El hilo en el rastreador de problemas discutido en la respuesta aceptada y varios comentarios parece sugerir que este problema ha sido reconocido.
Si algún desarrollador de Eclipse está leyendo, todo lo que puedo decir es, considere los beneficios de solucionarlo.
Claro, el complemento en la respuesta aceptada y otros complementos vinculados en el hilo del error lo arreglan. Pero, ¿cuántas otras personas que enfrentan este problema lo saben o se molestarán en encontrarlo e instalarlo?
Autocompletar es una función que desea trabajar de manera intuitiva y sin problemas en cualquier IDE moderno. Este es el caso en IntelliJ IDEA, por lo que actualmente es una razón muy convincente para cambiar ...
Finalmente funcionó.
Intente descargar este org.eclipse.jface.text.jar y cópielo en su carpeta de plugins (normalmente eclipse / plugin). No olvide hacer una copia de seguridad de la suya propia.
Funciona en Eclipse Juno.
Si el enlace no funciona, comente sobre esto, gracias.
Hay una solución en el rastreador de problemas para esto. Copie el jar en la carpeta eclipse / dropins. Con el siguiente espacio de reinicio se define como disparador de autocompletado.
La barra espaciadora ha sido una clave para seleccionar la autocompleta incluso en Indigo. Que yo sepa, esto no se puede configurar. De hecho, esa es probablemente la razón por la cual existe la demora.
Sugiero establecer la demora en un valor óptimo que le permita escribir cosas como private void ...
cómodamente sin generar sugerencias para private
y void
. Luego, en caso de que recibas una sugerencia porque esperaste demasiado, presiona Escape para anular Content Assist.
La misma configuración que davnicwil, el mismo problema, todavía en eclipse 4.4.
Solución : Interceptar (enganchar) MAYÚS + ESPACIO (mantener presionado) en eclipse (editor-ventana) y reemplazarlo con ESC, ESPACIO (secuencia). Ahora tú decides entre
- Autocompletar + ESPACIO: presione SPACE cuando presente autosugestión
- simplemente SPACE: presione la combinación de teclas predefinida o la secuencia (por ejemplo, SHIFT + SPACE)
En Windows puede usar http://www.heise.de/download/activaid.html (también puede usar AutoHotkey, java native hook, ...)
HowTo con ActivAid:
- Abra Ac''tivAid, seleccione "UserHotkeys"
- haga clic en "+", establezca una descripción
- haga clic en "atajo", presione, por ejemplo, MAYÚSCULAS + ESPACIO
- Comando: "{ESC} {SPACE}" (sin comillas)
- haga clic en "+", seleccione el marco del editor de eclipse, presione ENTRAR
- haga clic en Aceptar, Aceptar en Ac''tivAid
Mi archivo de configuración: activAid / settings / ac''tivAid.ini: [UserHotkeys]
Hotkey11=+Space
Path11=<Send>{ESC}{SPACE}
Description11=Eclipse Shift+Space -> Esc,Space
Category11=
Application11=ahk_class SWT_Window0
También puede reasignar claves en teclados no ingleses con "HotStrings", por ejemplo, ö -> {, ä->} etc.
Puede deshabilitar la activación automática a través de la casilla de verificación en
Window -> Preferences -> Java/Editor/Content Assist
y active la función de autocompletar según demanda. La tecla de acceso directo predeterminada para esto es
CTRL + espacio
Use una versión SDK del eclipse
1.open Plug-ins Visualiza y encuentra org.eclipse.jface.text, haz clic con el botón derecho y elige Importar como Proyecto original. Después de importar, lo encontrará en su área de trabajo.
2.En src / org / eclipse / jface / text / contentassist / CompletionProposalPopup.java
char[] triggers = t.getTriggerCharacter();
if(contains(triggers,key))
cambiar a
if(key!=''=''&&key!=0x20&&contains(triggers,key))
3.Exportar org.eclipse.jface.text
Haga clic con el botón derecho en la carpeta del proyecto de org.eclipse.jface.text, elija exportar -> Plugins y fragmentos desplegables, luego, elija el archivo de destino, finalice. Reemplace el que está en eclipse / complementos con el que genera.