Pergunta

Como você pode fazer com que o Intellij gerar getter/setters em uma linha como esta:

public String getAbc() { return abc; }

Ao invés de

public String getAbc() {
   return abc;
}

??

Foi útil?

Solução

Não há modelos nem para getters nem para iguais/hashcode. Estes são codificados na idéia.

Fonte

Você pode ver isso neste Lista de desejos Intellij

Outras dicas

Estou usando o Intellij Idea 14.1.0 e você pode personalizar esse comportamento.

Basta usar a opção "Gerear ..." ou usar Alt+Inserir atalho e selecione "getter e setter".

Na janela "Selecionar campos" que é aberta, você tem a opção "Getter Modelo" na parte superior. Use o botão "..." ao lado do menu suspenso, para editar o modelo.

Selecione "Intellij Padrão" e clique no botão "Copiar" para criar um novo chamado "AlwayStartWithGet", que você pode editar.

Basta remover a seção a seguir:

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

E substitua -o por um simples

get##

Você deve ficar com:

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

Agora você pode usar o modelo personalizado ao gerar código, selecionando -o no suspensão do modelo Getter.

Você não mencionou qual versão da ideia você está usando, então presumo que os 8 ou 9 recentes.

Verifique as configurações do seu estilo de código, em "Alinhamento e aparelho". Você deve encontrar uma opção "métodos simples em uma linha" lá.

Para a ideia de 2016.

Modelo getter

Mesclar as três últimas linhas em uma única linha:

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

Modelo de setter

Adicione hash duplo (sem espaço) no final da linha mais longa:

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

Mesclar as duas últimas linhas em uma única linha:

$field.name = $paramName; }

NOTA: Como comentado por @mindas, você provavelmente desejará o dobro automático visual que não é versão de versão.

Não sei por que você quer fazer isso, presumivelmente para salvar o espaço visual. Nesse caso, use o recurso de Intellij para dobrar getters/setters triviais e esquecer como as linhas são necessárias. O recurso de dobragem pode ser encontrado em

Configurações -> Configurações do IDE -> Editor -> dobragem de código -> Mostrar contorno de dobragem de código -> Acessores de propriedades simples

Alex G e Laffuste forneceram respostas que me ajudaram, mas mesmo depois de seguir estas instruções, o Intellij ainda pode formatar seu código automaticamente. Para impedir que isso aconteça, vá para Configurações -> Editor -> Estilo de código -> Java (ou outro idioma). Clique na guia intitulada "Quebra e aparelho". Sob o título "Mantenha quando reformatando", clique na caixa de seleção ao lado de "métodos simples em uma linha".

Para mais brevidade, você pode eliminar as linhas em branco entre os métodos Getter e Setter. Para fazer isso, clique na guia "Linhas em branco". Na seção intitulada "Linhas em branco mínimo", encontre a caixa de texto ao lado de "ao redor do método". Digite 0 na caixa de texto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top