Android Studio: Editor Java

Há alguns dias eu comecei uma série de posts sobre como melhorar a produtividade no Android Studio. Depois de falar um pouco sobre como melhorar o preview de layouts e telas, é hora de falar sobre como escrever código Java mais rápido. Neste post, abordarei alguns dos atalhos e facilitadores que uso no cotidiano. Em post futuro, talvez aborde recursos mais avançados em detalhes.

Todas as funcionalidades apresentadas neste post foram testadas no Android Studio 2.0, Preview 9. Embora elas possam funcionar corretamente em outras versões, podem haver diferenças.
Ajustando a configuração

Para começar, eu costumo facilitar o complete automático das expressões ajustando uma configuração do Android Studio. Abrindo as configurações (ctrl+alt+S/cmd+alt+S) e pesquisando por Case sensitive completion, teremos a opção para ajustar se as sugestões de complete serão filtradas considerando letras maiúsculas ou não. Eu costumo deixar a opção em None. Desta forma, consigo ser mais ágil no complete. Sugiro testar as diferentes opções de acordo com o que se adequar melhor ao seu caso.

Com a sugestão de complete automática ajustada, é hora de começar a explorar as intentions. Conforme criamos nossas classes e outros componentes, o Android Studio é capaz de prever algumas ações e intenções automaticamente. Por exemplo, ao incluir uma interface ao fazer uma classe implementar uma interface e usar o atalho alt + enter, o Android Studio irá sugerir a inclusão dos métodos desta interface. Pressionando enter/return, os métodos serão incluídos automaticamente, com uma estrutura básica. O alt + enter funciona em diversas situações, normalmente permitindo adicionar ou ajustar códigos. No geral, costumo usar a opção o tempo todo para importar classes, gerar variáveis locais, implementar métodos de interfaces ou superclasses, entre várias outras opções. A melhor forma de conhecer o alt + enter é ir testando a opção conforme vai usando o Android Studio.

Já falei muito sobre o enter, que tal testar um pouco o tab também? Utilizando o complete da maioria das IDEs, usamos o enter/return para selecionar uma das opções sugeridas. No Android Studio, isso faz com que o trecho selecionado seja inserido na linha, o que nem sempre é o que queremos. Muitas vezes a intenção é substituir ou completar o trecho em edição. Para isso, eu costumo usar o tab ao invés do enter. Com esta opção, o trecho de código selecionado é completado ou substituído, facilitando a edição.

Falando em completar e edição, que tal fazer o Android Studio gerar os blocos básicos da linguagem Java automaticamente? Para começar blocos, for podem ser gerados facilmente digitando iterable.for. O complete irá sugerir um foreach padrão. Pra for com índices, basta digitar iterable.fori. Switches podem ser gerados com enum.swtich. Além dos blocos, é possível gerar métodos com facilidade através do alt + insert. Esta opção apresenta uma lista com getters, setters, construtores e toString. Com ela, é muito fácil e rápido gerar classes POJO ou DTO sem perder muito tempo.

Por fim, costumo refatorar o código com rapidez usando alguns atalhos. Para gerar um método a partir de um trecho de código, costumo usar o atalho ctrl/cmd + alt + M, após selecionar o trecho de código que será encapsulado. Para converter uma variável em atributo, basta usar o ctrl/cmd + alt + F, com o cursor na variável. E para gerar uma variável local com o retorno de uma expressão, pressionar ctrl/cmd + alt + V, selecionando a expressão. Ainda sobre refactor, costumo ajustar nomes e identificadores com o atalho shift+F6. O Android Studio normalmente sugere nomes que seguem as convenções da linguagem Java.

O Android Studio tem muitos outros atalhos e funcionalidades no editor de código Java. Muitos deles eu sequer conheço ou experimentei. Nos próximos posts eu tentarei abordar funcionalidades e atalhos mais avançados. Se você usa outras funcionalidades ou opções, não deixe de responder ou comentar.