2009-11-23 12 views

Respuesta

11

No hay plantillas ni para getters ni para equals/hashcode. Estos están codificados en IDEA.

Source

Se puede ver que en este IntelliJ Wishlist

+3

Ahora hay (uso Ultimate 2016) - vea las respuestas debajo de – werner

10

Usted no ha mencionado qué versión de IDEA que está utilizando, así que supongo que la reciente 8 o 9.

verifica la configuracion de estilo de código, en "Alineación y tirantes". Debería encontrar una opción de "Métodos simples en una línea" allí.

+0

Somos 8.1.3. Sin embargo, eso no pareció funcionar ... –

+0

¿Intentó desmarcar el cuadro relacionado "Saltos de línea" en el grupo "Mantener al reformatear"? – seh

+3

La configuración de una línea le dice a IntelliJ que lo deje así en un reformateo, pero no para crearlo de esa manera. –

9

No sé qué quiere hacer esto, probablemente para ahorrar espacio visual. Si es así, solo usa la función de IntelliJ para doblar captadores/ajustadores triviales y olvidarte de cómo se toman las líneas. función de plegado se puede encontrar en

Configuración -> Configuración del IDE -> Editor -> Plegado de código -> Mostrar código de esquema de plegado -> Propiedad sencilla accessores

26

estoy usando IntelliJ IDEA 14.1.0 y usted puede personalizar este comportamiento

sólo tiene que utilizar la opción "Generar ...", o utiliza Alt +Insertar acceso directo y seleccione "getter y setter".

En la ventana "Seleccionar campos" que se abre, tiene la opción "Obtener plantilla" en la parte superior. Use el botón "..." al lado del menú desplegable para editar la plantilla.

Seleccione "IntelliJ predeterminado" y haga clic en el botón "Copiar" para crear uno nuevo llamado "AlwayStartWithGet", que puede editar.

Basta con retirar la siguiente sección:

#if ($field.boolean) 
    #if ($StringUtil.startsWithIgnoreCase($name, 'is')) 
    #set($name = $StringUtil.decapitalize($name)) 
    #else 
    is## 
#end 
#else 
    get## 
#end 

y reemplazarlo con un simple

get## 

Usted debe quedar con:

publiC## 
#if($field.modifierStatic) 
    statiC## 
#end 
$field.type ## 
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project)))) 
get## 
${name}() { 
    return $field.name; 
} 

Ahora puede utilizar la plantilla personalizada al generar código, seleccionándolo en el menú desplegable de la plantilla getter.

+0

Esto parece prometedor pero no veo un botón de plantilla de Getter en la parte superior de este cuadro de diálogo. Usando 14.0.2. – Gervase

+2

Funcionó para mí, pero para ser preciso, la última parte de la plantilla debería verse así: '$ {name}() {return $ field.name; } ' en una línea –

+4

Asegúrese de verificar también Configuración/Código de Estilo/Java/Bloques simples en una línea y Métodos simples en una línea. De lo contrario, el formateo automático volverá a poner las líneas y no verá ningún efecto después de modificar la plantilla ... – werner

3

Para Idea 2016.

plantilla Getter

Combinar los últimos 3 líneas en una única línea:

${name}() { return $field.name; } 

plantilla Setter

Añadir doble almohadilla (sin un espacio) en el extremo de la línea más larga:

[...] ($field.type, $paramName) {## 

fusionar las 2 últimas líneas en una sola línea:

$field.name = $paramName; } 

Nota: como han comentado en @mindas, es probable que desee lugar el plegado automático visual que no consigue versionado.