IDEs e editores que uso e usei

Tudo bom?

A ideia deste post é apresentar algumas das ferramentas de edição de código que eu já usei e mostrar porque continuo com as que uso geralmente.

Como todos sabemos, cada ferramenta traz uma série de consequências para o nosso trabalho. Muitas delas boas, outras nem tanto. O que costumo fazer é definir o que é mais valioso para mim e ficar com aquela que consegue me entregar a melhor experiência nesses pontos sensíveis.

Como são vários itens e várias funcionalidades que cada ferramenta pode oferecer, escrever um post que contemple mais de 3 tende a ser muito complicado e o conteúdo muito extenso. Depois de pensar um pouco e reorganizar minhas informações, resolvi falar sobre os pontos que me parecem mais interessantes de cada uma delas ao invés de comparar os mesmos pontos em todas.

Perceba que eu NÃO vou falar de todos os recursos de cada uma, já que eu não os utilizo em sua totalidade nem pretendo fazer um review completo. Apenas vou citar os pontos que acho relevantes.

Há alguns meses fiz uma tabela com as funcionalidades que uso de cada editor e atribuí uma nota entre -1, 0 e 1 para cada uma delas em cada ferramenta. No final, a com mais pontos seria a “melhor” para mim. Quem ganhou foi o Sublime Text, então vou começar por ele.

Sublime Text 3

Image for post
Image for post

Todo mundo já deve conhecer bem Sublime. Ele é incrível, é rápido, flexível e barato, já que você nem precisa comprá-lo. O preço é USD 70, mas se você comprar um punhado de licenças pode pagar mais barato. Veja no site os preços e formas de pagamento.

As coisas boas

O recurso matador do sublime para mim é a abertura rápida de arquivos através do atalho ctrl + p. Frequentemente estou envolvido em projetos que tem uma infinidade de arquivos e às vezes preciso alterar coisas que não estão muito próximas. O sublime permite que eu digite parte do nome do arquivo ou do caminho até ele (como o nome de algum diretório) e ele consegue achá-lo. Isso facilita muito meu trabalho e é muito difícil utilizar uma ferramenta sem isso.

Image for post
Image for post

Outra funcionalidade que me prende ao sublime é a seleção múltipla. Eu posso selecionar múltiplas linhas do meu documento ao mesmo tempo e trabalhar com elas. Isso realmente é uma mão na roda.

Temos também o procurar/substituir com expressão regular. Isso me da uma flexibilidade incrível, especialmente quando preciso tirar dados de um lugar e por e outro com estrutura diferente ou qualquer tipo de transformação maluca que preciso fazer em documentos de texto.

O Sublime é extremamente versátil e existe uma comunidade muito ativa de desenvolvimento de temas e plugins para as mais diversas funções. Os que estão sempre instalados no meu são:

  • Soda Theme: O Sublime é lindo, mas com este tema ele fica ainda mais fantástico ☺
  • ColorPicker: permite que você abra um seletor de cores quando estiver escrevendo seu código. Funciona em todas as plataformas e é bem simples.
  • Emmet: agiliza demais o meu trabalho quando preciso escrever HTML. Se você não sabe o que é, veja esse vídeo (eu sei que é do ST2) e saiba porque está todo mundo usando.
  • FileDiffs: permite que eu compare o conteúdo de dois arquivos e veja quais são as diferenças entre eles linha a linha. Não utilizo com muita frequência, mas vez ou outra eu preciso e é uma mão na roda. Se você já usou o comando git diff, então sabe do que estou falando.
  • SidebarEnhancements: Adiciona uma infinidade de opões para os itens do painel lateral.
  • Phpcs: esta belezinha passa o PHP CodeSniffer no meu código PHP toda vez que eu salvo e me mostra de uma forma bem atraente (depois de desativar as opções phpcs_show_errors_on_save e phpcs_show_quick_panel) os problemas que foram encontrados.
  • JSLint: similar ao PHPCS, mas funciona com JavaScript e utiliza o JSLint (se você não conhce e trabalha com JavaScript, é hora de conhecer).

Outros plugins que uso quando preciso são os que suportam algum recurso que eu esteja utilizando no projeto, como suporte à JSX.

O que não é tão bom

Adobe Brackets

Veja alguns vídeos:

http://youtu.be/Nhvj1NYC3Uc
http://youtu.be/6IdgnbAShnI

As coisas boas

Além disso o modo “preview” dele é muito bom. Apesar haver um recurso similar no PHP Storm e no Netbeans, o Brackets faz isso de uma forma excepcional, como demonstrado no primeiro dos vídeos que likei aí em cima.

Assim que você instala, ele já vem com o JSLint habilitado. Você escreve seu primeiro código JavaScript e ele já dá as caras. É muito bom e ele mostra de uma maneira bem tranquila.

Assim como o sublime, ele oferece a busca rápida de arquivos pelo ctrl + p e tem uma comunidade bem ativa no desenvolvimento de plugins e temas.

Um dos plugins mais legais, desenvolvido pela própria equipe, é o Theseus. Seus poderes são demonstrados no vídeo abaixo.

http://youtu.be/-J5LG2bFPMg

O que não é tão bom

Ele demora um pouco mais que o Sublime para iniciar, o que é até tolerável, mas a utilização do editor em si é ainda mais lenta. A mudança de abas e abertura de arquivos leva um tempo sensivelmente maior para acontecer que qualquer outra ferramenta que eu já tenha utilizado. Vale notar que muita gente não se incomoda com isso, então pode ser que para você ele seja melhor opção comparando ao Sublime Text. Para mim, entretanto, essa diferença de performance torna muito difícil a migração e por isso ele não é meu preferido.

Além do problema de performance, ainda tem algumas questões menores que me incomodam. No Linux, pelo menos, ele não fecha quando eu clico no botão de fechar. Preciso clicar algumas vezes para funcionar e já vi por aí outras pessoas com o mesmo problema.

Também tive vários problemas com os temas, que eram aplicados a alguns arquivos e outros não. Ele atualizou recentemente e oferece suporte nativo a temas agora, o que parece ter resolvido o problema, mas não explorei muito ainda.

Atom

Image for post
Image for post

O Atom é um editor da Github que, assim como o Brackets, é feito com tecnologias da web. É open source também, então você pode melhorá-lo o quanto quiser!

As coisas boas

Image for post
Image for post

Uma coisa que acho bem simpática nele é a integração com o GIT na barra lateral. Ele te mostra com cores quais as modificações que você tem no seu repositório, como mostra a figura. Eu gosto bastante disso e o recurso também está disponível no Brackets.

Ele também tem suporte a todas as linguagens que preciso, tem uma grande variedade de plugins que devem satisfazer muita gente.

Ele conta com uma interface gráfica para gerenciar as configurações, que é algo que o Brackets também tem, mas o Sublime não. É mais amigável para os mais novos nessa coisa de arquivos de configuração e tal.

O que não é tão bom

Ele não tem recursos muito avançados de autocomplete, mas fica especialmente lento quando eu tento forçar um ctrl + espaço. Vi que existem alguns packages que lidam com isso, mas não cheguei a testar, já que mesmo que eles funcionem, o problema de desempenho dele não vai compensar o uso.

Frequentemente recebo algumas mensagens de erro também, mas ok. Outra coisa chata é que ele demora um pouco pra você conseguir instalá-lo no Linux, já que eles não distribuem um binário e você precisa compilar. Mas ao menos no Ubuntu, o processo já está mais simples e alguém já criou um repositório dos pacotes prontos (webupd8 team).

Netbeans

Image for post
Image for post

A Netbeans é uma IDE completa para desenvolvimento em diversas linguagens, incluindo PHP, HTML CSS e JavaScript. É totalmente gratuita.

As coisas boas

Nas duas últimas versões eles melhraram muito o suporte para tecnologias de front-end (HTML, CSS e JavaScript). O PHP já está lá há bastante tempo, mas tem melhorado o suporte também. No beta da versão 8 havia até um browser integrado, que permitia que você tivesse um preview bem legal, mas eles removeram isso (não fui atrás para saber o porquê). Agora há uma extensão para o Chrome que conecta os dois para fornecer funcionalidades de depuração e preview. Funciona bem, incluindo suporte a sass.

Ela tem integração nativa com várias outras ferramentas, como phpcs, composer, phpunit, git, sass etc.

Resumindo: é uma excelente ferramenta para PHP e tem melhorado cada vez mais no que tange o front-end. Vale muito a pena utilizá-la e geralmente, quando vou lidar com bastante código PHP e quero algo mais robusto, utilizo ele.

O que não é tão bom

Além disso ela é super devagar para abrir e indexar seu projeto todo, mas depois ele toma jeito, então tudo bem. Apesar dela ter integração nativa com várias outras ferramentas, não tem uma coleção de plugins tão grande quanto os editores populares tem. Mas é algo que dá para conviver também.

Ela tem um esquema de abertura rápida de arquivos que é menos eficiente que do sublime. Ela precisa que você especifique o path do arquivo com um pouco mais de precisão. O sublime consegue até relevar algum typo que você posssa cometer.

PHP Storm

Image for post
Image for post

A PHP Storm é uma IDE bastante completa também, e paga. O preço para desenvolvedores individuais é USD 99. Para empresas é USD 199. Entretanto a JetBrains tem vários programas de desconto, para estudantes e startups, e oferece também lincenças gratuitas a desenvolvedores envolvidos em projetos Open Source. Dê uma olhada no site da JetBrains.

As coisas boas

A PHP Storm, apesar do nome, suporta plenamente JavaScript, HTML e CSS, oferecendo quase as mesmas ferramentas que a WebStorm, que é outra IDE da JetBrains voltada mais para o front-end.

Ela possui alguns plugins também, inclusive para facilitar testes unitários de JavaScript (que aprendi como funciona recentemente).

Ela não sofre do problema de aparência do netbeans, é até bem bonita, mesmo no Linux. Oferece várias opções de tema para o editor. Vale a pena testá-lo.

O que não é tão bom

E alguns outros

Eu ia colocar uma outra seção para o Eclipse e os baseados no mesmo, como o Aptana. Mas eles não me convencem muito e, ao menos no mundo do front-end, não vejo muita gente utilizando. Também não utilizei nada neles que netbeans e php storm não tenham, então não teria nada de novo.

Como eu disse anteriormente, escolhi minha ferramenta principal com base no que eu acho importante e no que facilita meu trabalho. Você pode acabar achando que qualquer uma das outras seja melhor do que a que eu uso e ser feliz. Seja como for, o importante é o que você faz com a ferramenta, não ela.

O que você usa? ☺

Written by

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store