paquetes - ¿Cómo evitar que Eclipse agregue paréntesis automáticamente?
enable eclipse autocomplete (3)
Si yo por ejemplo escriba "Integer". y luego presione CTRL + ESPACIO, y ahora elija "valueOf" de la lista, Eclipse siempre agrega "()" después del nombre de la función. Eso es realmente molesto para mí porque muchas veces tengo una declaración ya existente y quiero envolver una función a su alrededor.
Ejemplo: quiero cambiar
String x = "hello world";
a
String x = StringManipulator.uppercase("hello world");
Si escribo
String x = StringManipulator."hello world";
y pulsa CTRL + ESPACIO en el carácter de punto, inserta
String x = StringManipulator.uppercase()"hello world";
¿Hay alguna manera de arreglar este comportamiento? No necesito el cierre automático de parentesco, pero solo impedir que Eclipse los inserte automáticamente me ayudaría mucho.
Cerrar automáticamente los paréntesis es para cuando abre un paréntesis en este caso, está autocompletando un método, en este caso cuando el método al que está llamando tiene argumentos, creará los paréntesis y los bloques donde se colocarán los argumentos, no hay manera de hacerlo. simplemente autocompleta el método sin los paréntesis, pero puedes crear una plantilla para autocompletar:
- Vaya a Preferencias: Java => Editor => Plantilla
- Nuevo
- Escribe cualquier nombre relevante
- En contexto elegir declaraciones de Java
- Escritura dentro del patrón: StringManipulator.uppercase ($ {line_selection} $ {cursor});
- Ok y ok otra vez
- Ahora, cuando desee agregar la función, simplemente seleccione el texto para rodear, presione alt + shift + z y elija la plantilla que creó anteriormente.
Espero eso ayude
Me parece que esta configuración de aspecto no relacionado hace una gran diferencia, así que lo mencionaré.
La función de autocompletar en eclipse funciona de manera un tanto diferente si elige "Se sobrescribe la terminación" en lugar de "Inserciones de terminación" en las preferencias de "Asistencia de contenido".
(Permita que wrappingMethod()
sea el método que se completará.)
wrappingMoriginalMethod()
Con el cursor después de la "gM" anterior, aceptar la propuesta de finalización proporciona:
wrappingMethod()
wrappingM(originalMethod()
Con el cursor después de la "gM" anterior, aceptar la propuesta de finalización proporciona:
wrappingMethod(originalMethod()
Tenga en cuenta que tuve que agregar el parén abierto para evitar la sobrescritura, pero no parens extra.
wrappingM originalMethod()
Con el cursor después de la "gM" anterior, aceptar la propuesta de finalización proporciona:
wrappingMethod(parameterGuess) originalMethod()
Creo que esta es la opción más cómoda hasta ahora. Pienso que sería bueno si hubiera una característica de inserción de paréntesis "inteligente" que NO insertaría los parens si se completara justo antes de un paren existente y ya estoy DESEANDO de todos modos ... sería aún más impresionante si pudiera verificar esos parens existentes para ver si tienen los argumentos que estoy buscando o no y hacer algo inteligente O revisar el método después de mi punto de inserción para ver si debería ser un argumento para mi finalización y simplemente seguir adelante y HACER eso y poner un cierre paren después de esto y ANTES del punto y coma si ya había uno allí.
Entonces, nuevamente, si el IDE escribe TODO mi código, me aburriré bastante rápido.
Vaya a Preferencias en eclipse -> en el cuadro de búsqueda escriba: "padre" -> desmarque las opciones que no le gusten. Para eso está la búsqueda en ese lío (preferencias de eclipse).