IDEs e editores que uso e usei

Luís Henrique Faria
10 min readSep 5, 2014

--

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

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 editor oferece suporte à todas as linguagens que uso, mesmo que através de plugins, como a Blade (template engine do Laravel).

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.

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

O que realmente me faz falta no sublime é um autocomplete eficiente como do Brackets para JavaScript e CSS. Ele não consegue me sugerir createElement() quando eu escrevo document. num código JavaScrit, por exemplo. Existem alguns plugins para melhorar esse tipo de coisa, mas até agora não tive sucesso em encontrar algo que me dê todo esse suporte.

Adobe Brackets

O Brackets é o editor lindo da Adobe para a Web. Ele é open source e feito em html, css e JavaScript. Ele tem funcionalidades incríveis para front-end.

Veja alguns vídeos:

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

As coisas boas

O autocomplete de HTML, CSS e JavaScript é incrível. Neste ponto eu o acho superior a qualquer outra ferramenta que eu tenha utilizado, incluindo IDEs que já estão há bastante tempo no mercado.

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

Como dei a entender logo acima, sou bastante fã das funcionalidades do Brackets e acredito que ele ganhe do Sublime (e qualquer outro) nos recursos que ele tem. O maior problema que vejo nele, entretanto, é performance.

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

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

O editor em si é bem parecido com o sublime e o brackets. Tem a busca rápida por arquivos e uma interface legal.

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

Em todos os computadores que testei, sempre no Linux (Ubuntu e Elementary OS), ele demorou bastante para abrir. Além disso sofre do mesmo problema de lentidão que o brackets no que tange edição de código, abertura de arquivos etc, embora leve pequena vantagem na abertura de arquivos.

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

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

As coisas boas

Por ser uma IDE, a netbeans pode oferecer recursos bem robustos, como depuração de JavaScript, um bom autocomplete com um bom entendimento do seu código, automatização de tarefas etc. Tem um ótimo editor pra HTML, CSS, JavaScript, PHP e qualquer outra linguagem que ele suporte.

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

A coisa que mais me incomoda na Netbeans é a aparência. Ela é feia pra caramba (no OS X nem tanto), especialmente no Linux, onde costumo trabalhar. Meus olhos doem de utilizá-la por muito tempo. Além disso não consegui encontrar até hoje um tema escuro (precisa ser escuro, né?!) para o editor que seja tão bom quanto das outras ferramentas que citei até aqui. Isso me incomoda e me faz utilizar o tema padrão, que não me ajuda muito. A renderização de fontes no Linux também não é das melhores, mas parece que no KDE funciona melhor.

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

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

Assim como a Netbeans, a PHPStorm é uma IDE e oferece recursos muito poderosos e integração nativa com várias ferramentas. Isso já era de se esperar, por ser uma ferramenta paga.

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

Na realidade eu não tenho muito o que reclamar da PHPStorm. O que me impede de utilizá-la como principal é que não tem alguns dos recursos bacanas do sublime de forma tão fácil de usar. Ah, e o fato de ser paga, o que me deixa mais próximo da Netbeans quando preciso de algo mais robusto que o Sublime.

E alguns outros

Já testei outras ferramentas, como a Komodo Edit, Komodo IDE, VIM, DreamWeaver (quem não?!), notepad++ etc. Mas não tem nada nelas que me chame a atenção o suficiente para eu cogitar recomendar ou utilizar como padrão. O vim, entretanto, não recebeu tanta atenção minha, devo confessar, mas utilizo com certa frequência para edição de arquivos remotos ou quando não quero abrir o sublime nem nada.

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? ☺

--

--