A escolha de boas ferramentas de desenvolvimento podem nos proporcionar muita produtividade e isso é muito importante quando falamos de escrever software profissionalmente. O editor de textos é uma das ferramentas mais úteis nesse caso, pois é através de suas facilidades, como atalhos, plugins e comandos especiais, que conseguiremos mais produtividade ainda.
Algumas pessoas preferem algo mais roots, como o editor de textos Vim e, na comunidade Clojure, as pessoas indicam fortemente o uso do Emacs, enquanto outras indicam o Spacemacs, pela fusão das características boas do Vim e do Emacs em uma só ferramenta. Eu, como um reles mortal sem tempo hábil para gastar, prefiro uma ferramenta mais usual, o Visual Studio Code, e neste artigo vou falar como estou utilizando o VS Code para programar em Clojure.
O que precisamos em um bom editor
Para conseguirmos uma boa produtividade com um editor de textos, precisamos de uma boa integração com a linguagem de programação e seu eco-sistema (frameworks, libs, etc). Isso implicará em termos um bom syntax highlighting, auto complete e qualquer outra coisa legal que encontrarmos para aumentar nossa produtividade.
No VS Code podemos conseguir isso instalando extensões para a maioria das linguagens de programação e ferramentas de desenvolvimento.
Extensões para programar em Clojure no VS Code
O VS Code não vem com suporte nativo a Clojure – precisaremos instalar uma extensão para facilitar a nossa vida. Eu instalei somente uma extensão que me proveu tudo o que eu preciso. Se você tiver dicas de mais alguma, comente aqui neste artigo. A extensão utilizada é a “Clojure” do Andrey Lisin. Acredito ser tudo o que precisamos em um primeiro momento.
Para instalar essa extensão, basta ir até o menu de instalação de extensões e procurar por Clojure publisher: “Andrey Lisin” e clicar em “Install”.
No caso da imagem acima, não aparece a opção “Install”, pois eu já possuo a extensão instalada no meu editor.
Auto complete
Com a extensão instalada no nosso VS Code, podemos agora rodar alguns comandos e ver o auto complete. Para que o auto complete funcione, somente será necessário abrir um arquivo ou projeto Clojure ou então configurar a linguagem que estamos utilizando como Clojure no canto inferior direito do nosso editor.
Atendendo a esses requisitos já podemos esperar que o editor nos dê sugestões de digitação.
E algumas sugestões da documentação também.
Ela também já funciona para a maioria das ferramentas, libs e frameworks Clojure.
No exemplo acima, temos o auto complete da extensão para a utilização do framework Ring.
Interpretação de linhas de código
Durante o desenvolvimento, talvez seja legal rodarmos algumas linhas de código ou comandos para saber qual será o resultado da execução do código. Para isso, normalmente, recorremos ao terminal.
Em Clojure podemos utilizar o Leiningen para rodar nosso interpretador, como conhecemos neste artigo de introdução à linguagem Clojure, do Gilmar Soares.
Para que a nossa extensão nos ajude nessa parte, também precisaremos do Lein instalado em nossa máquina para que ela crie um link entre uma instância do utilitário conectada ao nosso VS Code. A instalação do Lein irá variar para cada sistema operacional, por isso recomendo que siga a documentação neste link.
Ao abrirmos algum arquivo Clojure no VS Code, com a nossa extensão de Clojure e o Lein devidamente instalados, veremos que o editor se conecta a um servidor.
E em seguida, recebemos a notificação de que está tudo OK.
Agora conseguimos rodar partes de comandos para serem avaliados pelo nosso editor. Basta digitar as linhas de código, selecionar essas linhas e rodar o comando eval no REPL do VS Code. Para isso, fazemos CTRL+SHIFT+P e digitamos “eval” e é só ver a magia acontecendo no output do nosso VS Code.
Lembrando que o “eval” deve ser o da extensão Clojure, então vai aparecer “Clojure: Eval”.
O OUTPUT aparece se pressionarmos CTRL+SHIFT+`.
Outras funcionalidades da extensão Clojure para VS Code
Além do auto complete, syntax highlighting e execução de código, a extensão possui outras funcionalidades importantes e interessantes para nós, devs e devas:
- Formatação de código
- Análise da assinatura de funções
- Navegação no código
Ou seja, tudo (aparentemente) o que precisamos para trabalhar com a linguagem Clojure em uma só extensão!
Como vimos, utilizando a extensão Clojure no VS Code, temos tudo o que precisamos em um editor de textos para trabalhar com essa linguagem. Afinal, esse editor por si só já possui muitas funcionalidades extremamente úteis.
Claro que uma IDE como o IntelliJ com o plugin Cursive talvez seja mais poderosa ainda, porém, para quem não curte aquele monte de funcionalidades que as IDEs trazem, e também não deseja perder muito tempo com a curva de aprendizagem de um editor mais roots, recomendo fortemente o uso do VS Code.