oxygen - eclipse programa java
Las clases/subclases implementadas en el contenido ayudan en el eclipse (6)
Código como este es uno de mis odios favoritos de Java Generics. Utilizo las bibliotecas de Guava de Google para hacer que mi código genérico sea más legible, y como efecto secundario no necesito esta característica particular en Eclipse (aunque estoy de acuerdo en que debería implementarse). La guava también tiene un soporte similar para los sets.
Por ejemplo, normalmente declararía mi código de la siguiente manera:
import com.google.common.collect.Lists;
...
List myList<String> = Lists.newArrayList();
Lo que estoy tratando de hacer es esto:
List<String> list = new
y luego presione Ctrl + Space y obtenga ArrayList<String>()
(entre otros) para aparecer en la propuesta de tipo.
Pensé que tenía esto funcionando anteriormente, pero recientemente tuve que volver a instalar y no puedo encontrar la configuración para ello.
Estos son los helios de Eclipse Java EE, pero puedo actualizar a índigo si es necesario.
Intenté buscar ayuda here , pero no encontré la información que estaba buscando. He intentado marcar todas las casillas en "Tipos de propuesta predeterminados" (Java -> Editor -> Asistencia de contenido -> Avanzado "en vano.
Eclipse no sabe qué clase implementa la interfaz y no los cargará para todas las interfaces que tiene. PERO, Eclipse puede aprender lo que usa y mostrarlo en el próximo uso, tal vez eso es lo que le sucedió, ¡con el tiempo le enseñó a Eclipse las clases implementadas!
Aquí hay un ejemplo de Eclipse antes de aprender / y después de aprender qué clases implementan Map
.
Como se puede ver en la imagen, la primera vez, Eclipse no sabía nada más que HashMap
, que utilicé antes.
Después de eso, utilicé TreeMap
y LinkedHashMap
al escribirlos manualmente (solo la primera vez) y Eclipse ahora los almacenó en caché.
Como los chicos sugirieron, puede colocar el punto en el Map
y hacer clic en Ctrl+T
que todas las clases implementen esto. Será de ayuda la primera vez.
ACTUALIZACIÓN en 2014!
Como @KCarpenter observó, esta función está deshabilitada en las versiones más nuevas de Eclipse. Para volver a habilitarlo. Vaya a Ventana-> Preferencias-> Java-> Editor-> Asistencia de contenido-> Avanzada.
En Tipos de propuesta predeterminados , deberá verificar las propuestas de tipo Java
Esta es una manera de agregar una nueva plantilla al eclipse, luego todo lo que tiene que hacer es escribir arraylist, presionar ctrl + espacio y crea la declaración completa para usted. Todo lo que tienes que hacer es agregar el tipo y el nombre.
Guarde este archivo, luego impórtelo a eclipse
Aquí es cómo importar / exportar una plantilla
Vaya a Ventana> Preferencias> Java> Editor> Plantillas
Seleccione las plantillas que desee. ¡NÓTESE BIEN! Las casillas de verificación no indican lo que está seleccionado; se utilizan para habilitar / deshabilitar una plantilla. Se selecciona una plantilla si se selecciona la fila completa de la tabla, así que use Ctrl + clic izquierdo o un método específico para su sistema operativo para seleccionar varias plantillas.
Haga clic en Importar ... y elija el archivo XML que recibió. O Exportar ... y proporcionar un nombre de archivo.
Tipo arrayList
Presione ctrl + espacio y elija arraylist
Rellene el tipo y nombre
Me gustaría ver a Eclipse haciendo esto, pero creo que la asistencia de contenido nunca funcionó sin un carácter de inicio (a menos que exista alguna característica oculta que no sepamos).
Bueno, teniendo esto en cuenta, lo que hago para solucionar el problema de "estar bloqueado con las implementaciones más utilizadas" es mirar el javadoc en la sección All Known Implementing Classes
, para ver otras posibilidades que podría usar.
Sé que no es una solución en Eclipse, pero puede ayudar a algunos usuarios que se atascaron en el mismo problema.
No pretendo ser una respuesta a su pregunta, pero uso la Solución rápida ( Ctrl + 1 / Ctrl + 2 ) para definir una nueva variable o campo local.
Primero, escribo (tal vez usando Ctrl + Espacio para Asistencia de contenido):
new ArrayList<String>();
Luego presiono Ctrl + 2 y L, que asigna una declaración a una nueva variable local al generar una definición de variable con el tipo que se está instanciando:
ArrayList<String> arrayList = new ArrayList<String>();
Finalmente, uso la pestaña (uno también puede usar Intro) para navegar entre arrayList
insertado y ArrayList
para especificar el nombre exacto de la variable y su tipo en la lista desplegable:
List<String> list = new ArrayList<String>();
Al presionar la pestaña por tercera vez, se mueve el cursor hasta el final de la instrucción.
Esperanza, también te resultará útil.
Soy capaz de hacer esto pero no aparece en la propuesta de tipo. Intenta escribir:
List<String> list = new Ar
Pulsa Ctrl-Space y solo acepta la primera sugerencia. Completa a ArrayList<String>()
para mí (esto está usando la distribución de Eclipse de SpringSource Tool Suite).