Eclipse – Formatter e Save Action

Depois de ter falado sobre Code Templates para comentários no código, vou neste post falar sobre a formatação e como otimizar isso para lhe ajudar e não atrapalhar.

Muitos desenvolvedores tem problemas com o famoso Ctrl+Shift+F, que promete formatar seu código e muitas vezes acaba é deixando ele mais confuso.

Bem, o nosso padrão de código(se é que posso chamar assim) é muito diferente(ou um pouco depende) dos códigos dos gringos, ou seja, o Eclipse formata no padrão deles pode dizer assim ;).

Para resolver esse “problema” o desenvolvedor tem que fazer uma configuração simples, mas um pouco chata(considerada por alguns) mas no pior caso será feita apenas uma única vez ;).
Vá em Windows –> Preferences –> Java –> Code Style –> Formatter.

Vamos agora criar um novo profiler, clique em New e digite um nome para o seu novo profile.



Pronto, agora vamos personalizar, clique em editar.



Vou tentar falar um pouco sobre cada aba de opção.

Indentation
Nesta aba você vai selecionar a indentação em si e o tamanho dela, normalmente o tamanho da tab é 4.

Braces
Nesta aba você vai personalizar a posição das chaves(“{” , “}”).

White Space
Está é interessante, pois você poderá personalizar até os espaços em branco entre cada variável, método e assinaturas de todo tipo de objeto, desde strings até arrays e várias outras.

Blank Lines
Nesta aba você irá definir as quebras de linhas(linhas em branco) entres métodos, variáveis, pacotes e etc. Aqui você irá definir por exemplo que o espaço de linha entre a declaração de um package para um import seja de 2 linhas por exemplo.

New Lines
Nesta aba você define como um método vazio deverá ficar, se você deseja inserir uma nova linha neste método, definir também como um array declarado deverá ser exibido e identado, assim como uma annotation.

Control Statements
Esse é bem interessante mesmo, pois aqui você irá definir como seus else, IF, catch, while etc devem ser identados.

Line Wrapping
Neste você define o tamanho Maximo da coluna que uma linha pode comportar, como deve ser a identação de uma assinatura de um método, métodos declarados, enum, variáveis declaradas e etc.

Comments
Isso é referente a identação do Java Doc, blocos de comentários normais(//, /**/), qual o formato das tags HTML, espaço entre os textos do comentário e se desejar remover qualquer linha em branco que esteja no comentário.

Todas essa opções podem já serem visualizadas no código de exemplo ao lado de cada uma, facilitando assim a personalização.
Então supondo que você já criou e personalizou seu profile vamos agora tentar otimizar isso.

Para se utilizar do profile basta você executar o atalho dentro do código, que é o Ctrl + Shitf + F, pronto ele aplica a sua configuração personalizada.
Mas supondo que você criou um profile e quer sempre executar ele, fica meio chato você ficar sempre digitando o Ctrl+Shit+F correto ? Que tal otimizar isso ?

Save Actions
Vá em Windows –> Preferences –> Java –> Editor –> Save Actions.


Para ativar(caso não esteja) basta selecionar a opção “Perform the selected actions on save”.

Agora podemos adicionar uma formatação automática, selecione o Format source code e clique em Formatter.



Verifique se o seu profile está selecionado como profile ativo(Active Profile), clique em Ok e pronto, na próxima vez que você salvar(Ctrl + S) qualquer arquivo .java(classe) ele irá aplicar a(s) sua(s) configuração(ões) automaticamente.

Para definir como padrão para todos os integrantes da equipe, basta seguir os passos abaixo.

Vá em Windows –> Preferences –> Java –> Code Style –> Formatter –> Edit –> Export –> Salve seu profile.

Agora cada desenvolvedor irá poder importar toda a configuração de formatação de código, ou você mesmo poderá levar para onde quiser a sua formatação.

Simples não ?

Ações adicionais do Save Action

Se você quiser personalizar ainda mais a sua formatação é possível ainda inserir algumas formatações adicionais. Na tela de Save Actions temos o Configure onde você poderá definir mais configurações que serão executadas ao salvar qualquer classe Java.


Vou tentar explicar um pouco cada uma delas:

Code Style
Responsável em adicionar ou criar blocos fechados({, }) no bloco de IF/while/for/do.Definir se você quer parênteses em condições por exemplo:
(((i > 0) && (i < 10)) || (i == 50)) ou sem (i > 0 && i < 10 || i == 50).
Se quer adicionar o modificador final em todas os parâmetros onde seja necessário, e quais tipos de parâmetros(private, parameter, local variables).

Member Accesses
Usar o “this” em todos as variáveis e métodos locais ou somente onde for necessário. Como devem ser declarados os métodos e variáveis etc.

Unnecessary Code
Como o nome mesmo já diz, remove trechos de códigos desnecessários, como imports de classes que não existem dentre outras configurações.

Missing Code
Adiciona automaticamente as tags “@Override” e “@Deprecated” nos métodos.

Code Organizing
Organiza a ordem do métodos.

Bem essa são as formas simples de como otimizar o código, seja pela formatação dele ou até por simples comentários, mas essa é a intenção, não perder tempo com coisas simples e repetitivas ;).

Abraços e espero ter contribuído com este artigo para agilizar o processo de desenvolvimento.

32.352 Comments on “Eclipse – Formatter e Save Action

  1. Hi there! I just wanted to ask if you ever have any problems with hackers?

    My last blog (wordpress) was hacked and I ended up losing months of hard work due
    to no back up. Do you have any methods to stop hackers?

  2. Hi, Neat post. There’s an issue along with your web site in web explorer,
    would test this? IE nonetheless is the marketplace leader and a large
    component to other folks will omit your magnificent writing because of this problem.

  3. Ꮋave үoᥙ ever considered about adding a little bіt more tһаn just y᧐ur articles?
    I mеan, ᴡhat you saʏ iѕ imp᧐rtant ɑnd
    everything. Nevertheless tһink of if yoս adⅾed s᧐me great visuals or
    videos to ɡive ʏouг posts more, “pop”! Yߋur
    ϲontent іs excellent ƅut ԝith images and videos, thіs
    blog ϲould cеrtainly Ƅe one of thе greatest
    in its field. Excellent blog!

    Аlso visit my blog; lotto [Tonya]

  4. Hello there! This post couldn’t be written any better!
    Reading through this post reminds me of my old room mate! He always kept talking about this.
    I will forward this write-up to him. Fairly
    certain he will have a good read. Many thanks for sharing!

  5. На сайте https://sulyaev.ru/ вы сможете получить контактные данные, телефон психоаналитика Андрея Суляева. Он сможет очень быстро, буквально за несколько приемов решить очень сложные проблемы, которые тревожат вас сейчас. Работа со взрослой аудиторией и в индивидуальном порядке. Это позволит установить необходимый контакт. На портале также представлены и различные нужные материалы на тему психологии. Если нужно, то психолог с радостью ответит на все вопросы, которые вы зададите. Почитав информацию на портале, вы получите ответы на все свои вопросы.

  6. Сайт https://cerial.online/ представляет собой самый полный сборник сериалов, на котором собраны фильмы различных жанров. Они понравятся всем без исключения, а особенно тем, кто обожает просматривать интересные фильмы, наслаждаться качеством картинки и звуком. Здесь наиболее полный перечень сериалов, которые вы сможете посмотреть в любое время. Просто начните воспроизведение того момента, на котором вы остановились в прошлый раз, чтобы продолжить просмотр. Регулярно на портал добавляются новинки, которые будут интересны и вам.

  7. What’s up everyone, it’s my first pay a visit at this site, and piece
    of writing is in fact fruitful for me, keep up posting these articles or reviews.

  8. Ӏ’ve been browsing online morе tһan 3 hօurs
    ⅼately, yеt I neѵer discovered any fascinating article ⅼike yoսrs.
    It is lovely value enough for me. Personally, іf аll site owners and bloggers
    mаde gοod content ɑѕ you ⅾid, tһe net wіll lіkely be much m᧐re helpful than ever before.

    my web site lotto (Kathy)

  9. I have learn a few just right stuff here. Certainly worth bookmarking for revisiting.
    I wonder how so much effort you place to make this type of excellent informative site.

  10. Admiring the time and energy you put into your blog and
    detailed information you present. It’s good to come across a
    blog every once in a while that isn’t the same old rehashed information.
    Wonderful read! I’ve saved your site and I’m including
    your RSS feeds to my Google account.

  11. Do you mind if I quote a few of your posts as long as I provide
    credit and sources back to your blog? My blog is in the very same area of interest as yours and
    my visitors would certainly benefit from a lot of the information you
    present here. Please let me know if this alright with you.
    Thanks a lot!

  12. На сайте https://profobus.ru/kursy-programmirovanie/ представлены самые проверенные и надежные курсы по программированию. Все онлайн-заведения, которые представлены здесь, практикуют качественное обучение, а потому вы сможете рассчитывать на безупречное образование. Рейтинг строился на основе мнения большинства, а потому ему точно можно доверять. Всего на сайте представлено более тысячи курсов, где обучают с нуля, в рассрочку, а также с трудоустройством. Количество звездочек означает рейтинг заведения.

  13. Hey there, I think your website might be having browser compatibility issues.
    When I look at your blog in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping.
    I just wanted to give you a quick heads up! Other then that,
    awesome blog!

  14. Компания «ПАРКМОТОРС» продает различные комплектующие напрямую со склада и на Газель, различную другую грузовую технику. На сайте https://parkmotors.ru/ вы сможете получить всю необходимую информацию, которая касается покупки запчастей. Все они реализуются по привлекательным расценкам, за счет того, что сотрудничество происходит напрямую. Всегда в наличии шины, представленные от зарубежных, отечественных марок. В тематических разделах находится сцепление на технику Газель от популярного турецкого, немецкого производителя.

  15. Greetings from Idaho! I’m bored to tears at work so I decided
    to check out your site on my iphone during lunch break.
    I really like the info you provide here and can’t wait to
    take a look when I get home. I’m amazed at how quick your blog loaded on my mobile ..
    I’m not even using WIFI, just 3G .. Anyhow, wonderful blog!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.