Desenvolvedor Salesforce, mate o Eclipse agora

Se você é um Desenvolvedor Salesforce, e ainda usa o Eclipse, mate-o agora, antes que ele faça isso por você.

Pode parecer brincadeira, mas ainda existem muitos desenvolvedores que ainda usam o Eclipse, a alguns anos atrás ele era a IDE recomendada pela Salesforce, mas já a um bom tempo ele perdeu esse posto para o Visual Studio Code da Microsoft, eu já falei aqui em um post anterior do IntelliJ com o uso do plugin Jetforce, o problema é que na época o plugin era free, e de lá para cá, passou a ser pago, não é uma grande quantia, 59$ para desenvolvedores e 99$ para empresa, eu considero um valor relativamente baixo para quem desenvolve para Salesforce todos os dias, mas quando se fala em colocar a mão no bolso, sei que a coisa aperta um pouco, então resolvi dar mais uma chance ao Visual Studio Code e ver o quanto ele me surpreendia em relação a minha IDE atual (IntelliJ com plugin Jetforce), eu já faço uso do Visual Studio Code para desenvolvimento Mobile (Cordova), então isso já contou como ponto positivo por já conhecer o potencial dessa IDE poderosa, mas chega de enrolação e vamos ver como o Visual Studio Code vai mudar a sua vida como Desenvolvedor Salesforce, e quem sabe agora, você abandone de vez o Eclipse, acho que até o console do desenvolvedor é melhor que o Eclipse :)

Baixando e instalando o Visual Studio Code

O primeiro passo desse nosso desafio é instalar a IDE da Microsoft, o Visual Studio Code, fique tranquilo pois ele é gratuito e Open Source, ou seja, fácil de convencer o seu chefe a matar o Eclipse de uma vez por todas, não é mesmo?

Para isso, acesso site do Visual Studio Code, selecione o sistema operacional que você utiliza e baixe a instalação, ele esta disponível para Windows, Linux e macOs. Sendo um desenvolvedor, acredito que não precisamos de um passo a passo detalhado nessa parte, né?

Salesforce CLI

Bom, o que a extensão do Salesforce Extension Pack faz é falar diretamente com o Salesforce CLI, que por sua vez faz toda a comunicação entre a  sua maquina e uma ORG Salesforce, então sim, você vai ter que instalar um CLI na sua maquina, mas fique tranquilo pois é um passo bem simples e não requer nenhuma configuração.

Assim como o Visual Studio Code, o Salesforce CLI esta disponível para macOS, Windows e Línux, então acesso site de instalação do Salesforce CLI, escolha o seu sistema operacional e realizei a instalação NEXT, NEXT Finish.

Simples assim, uma vez instalado o Visual Studio Code, a extensão e o Salesforce CLI, você esta pronto para usar todo o poder desse conjunto, vamos lá?

UPDATE: Instale o Java (JDK) e preencha as variáveis de ambientes do sistema conforme abaixo:

CLASSPATH = %JAVA_HOME%\lib\toosl.jar
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_191 (ATENÇÃO A VERSÃO DO JAVA INSTALADA NO SEU COMPUTADOR)
PATH = %JAVA_HOME%\bin;[MANTER O QUE JÁ EXISTIR AQUI]

UPDATE: Usuários de Windows, não esqueçam de reiniciar a maquina depois de instalar o Salesforce CLI.

Instalando o NodeJS

Recentemente o Salesforce CLI começou a exigir o NodeJS para funcionar corretamente, para isso você precisa baixar e instalar o mesmo através desse link.

O Visual Studio Code e suas Extensões

O mais legal do Visual Studio Code é que ele tem plugins para praticamente tudo que você imaginar, se você trabalha com Front-end, vai encontrar excelentes extensões de CSS, JavaScript, se você programa em PHP, Java também não terá problemas em utilizá-lo, mas nosso objetivo aqui é utilizar ele para desenvolver para o Salesforce, mas espero que você se sinta instigado a testa-lo também em outras plataformas, como eu disse antes, utilizo ele hoje para desenvolvimento mobile (Cordova).

Uma vez que a IDE do Visual Studio Code esteja instalado e rodando, você já pode desinstalar o Eclipse, brincadeira, brincadeira… uma vez que esteja com a sua IDE nova rodando, vamos precisar instalar algumas extensões, eles nos auxiliarão na comunicação entre a IDE e o Salesforce, assim como no Eclipse, temos que instalar o plugin da force.com e no IntelliJ o plugin da Jetforce, aqui não é diferente, vamos baixar uma extensão para fazer essa tarefa para nós.

Dentro do Visual Studio Code, procure no menu lateral pelo ícone em forma de quadrados, ele se chama Extensions, no macOs o atalho é Shift + Command + X, no campo de busca, digite Salesforce Extension Pack e clique na primeira opção, em seguida clique no botão verde [Install].

Do seu lado direito, você verá todas as informações da extensão, sugiro que tire um tempo para uma leitura, informações importantes são exibidas ali, uma vez instalado e feita a leitura, clique no botão [Reload] em azul.

Em tese você já poderia parar por aqui, mas como o forte do Visual Studio Code são as suas extensões, vamos tirar proveito disso e instalar outras extensões que serão muito úteis no seu dia a dia.

  • Debugger for Chrome (Como o próprio nome diz, ajuda a debugar usando o Chrome)
  • ESLint (Te ajuda a garantir qualidade nos seus códigos JS)
  • Beautify (Formata arquivos JS/HTML/CSS)
  • Uncrustify (Formata arquivos do Apex)

Criando seu primeiro Projeto no Visual Studio Code

Agora de volta ao Visual Studio Code, acesse o menu View -> Command Palette… no macOs o atalho é Shift + Command + P, sugiro que você decore esse atalho, pois irá fazer bastante o uso dele no Visual Studio Code, digite >Manifest e escolha a opção SFDX: Create Project with Manifest, não esqueça do sinal de > no começo.

Em seguida, surgirá um campo solicitando o nome do projeto que deseja criar, informe o nome e pressione a tecla ENTER.

Por fim, selecione a pasta onde seu projeto será criada, ele criará uma pasta com o nome que você escolheu no passo anterior, nessa pasta irá conter todos os arquivos de desenvolvimento da sua ORG e também os arquivos de configuração do Visual Studio Code.

Por fim, você irá se deparar  com os arquivos sendo criado dentro do Visual Studio Code, e também verá um ícone novo no menu lateral, que dará acesso aos seus cenários de testes.

Conectando a sua ORG Salesforce

Uma vez que o seu projeto esteja criado, vamos conectar ele a nossa ORG, seja ela Sandbox, Developer ou Produção, lembrando que para produção ela ficará como somente leitura, você não poderá alterar dados de produção diretamente.

Bom, para isso vamos novamente ao menu View -> Command Palette… (Não se esqueça que você pode utilizar a tecla de atalho, no macOs é Shift + Command + P), e então digite >Auth e escolha a opção >SFDX: Authorize an Org.

Em seguida, selecione o tipo da ORG que deseja conectar (Default aponta para produção, Sandbox é o tipo de org mais comum no ambiente de desenvolvimento ou Custom quando a sua URL de login é customizada), no meu exemplo vou seguir com a Default, pois vou conectar uma ORG do Trailhead (Developer Edition).

Uma vez selecionado o tipo da ORG, é solicitado um Alias, isso serve para você organizar as ORGs no seu Salesforce CLI, no meu caso vou informar Trailhead, que é como vou identificar essa ORG.

Uma vez feito isso, você verá uma mensagem no canto inferior direito da sua tela.

Uma janela do seu navegador abrirá, solicitando que seja feito o login na sua ORG.

Depois de informar seu usuário e senha, e logar na sua ORG, você pode voltar ao Visual Studio Code, você verá no canto inferior direito uma mensagem de que tudo ocorreu bem e que a ORG esta conectada ao seu Visual Studio Code.

Baixando os metadados da sua ORG para o seu projeto

O próximo passo é baixarmos os metadados da sua ORG, de volta ao projeto, veja a pasta manifest, dentro dela você verá um arquivo chamado package.xml, se você abrir esse arquivo, verá que ele contém as informações que serão baixadas da sua ORG, esse é o mesmo arquivo package.xml que você utiliza para baixar informações da sua ORG através de outras ferramentas, você pode obter mais informações sobre o package.xml aqui, mas de um modo geral, o arquivo padrão deve te auxiliar bem em muitos casos. Se você não faz ideia do que seja um metadado, sugiro que leia este post.

Bom, para baixar os metadados indicados no package.xml, basta clicar com o botão direito no package.xml e clicar na opção SFDX: Retrieve Source in Manifest from Org.

Novamente você verá um popup indicativo no canto inferior direito da tela, aguarde até que ele baixe os metadados e exiba os botões “Show” e “Show Only in Status Bar”, isso indica que o Download finalizou.

Se você navegar  até a pasta  force-app->main->default você verá várias pastas, aura, classes, components, pages, staticresource e triggers.

Expanda a pasta classes e verá todas as classes da sua ORG.

Salvando o arquivo alterado na sua ORG

Depois que você tiver com os metadados em mãos, agora é hora de colocar a mão na massa e sair codando, mas ai você deve estar se perguntando, como envio os arquivos alterados/novos para a minha org, muito simples, basta clicar com o botão direito no arquivo ou dentro dele, e escolher a opção SFDX: Deploy Thus Source to Org.

E se quiser atualizar um arquivo especifico (Baixar ele novamente da sua ORG  Salesforce), é o mesmo processo, basta clicar com o botão direito, e selecionar a opção SFDX: Retrieve This Source from Org.

E se quiser atualizar o projeto inteiro, basta clicar com o botão direito no arquivo package.xml dentro da pasta manifest e clicar na opção SFDX: Retrieve Source in Manifest from Org, igual fizemos da primeira vez.

Porque você deve matar o Eclipse

Se tivesse que responder em uma frase, eu diria, seu PC agradece, rs brincadeiras a parte vejo como benefícios:

  • O Visual Studio Code é muito mais leve (consumo de CPU e Memória) do que o Eclipse
  • O Force.com IDE foi descontinuado pela Salesforce, ela recomenda que você migre para o Visual Studio Code
  • O Visual Studio Code tem extensões para tudo que você possa imaginar, apesar do Eclipse também ter os seus
  • O Visual Studio Code é gratuito e Open Source, sem nenhum custo adicional para a empresa
  • SIM, Agora é possível Debugar o seu código Apex
  • O Visual Studio Code já esta preparado para o Lightning Component Framework
  • Você tem auto completar dentro da IDE para seu código Apex, Lightning e Visualforce

Bônus

Se você trabalha em equipe deve sofrer com padrões de códigos, afinal o padrão é não ter um padrão, certo? assim como para o JavaScript existe o Lint, para o APEX temos o PMD, o PMD é responsável por fazer uma analise de padrões do seu código, afim de garantir que todos sigam o mesmo padrão, você  pode por exemplo configurar  se deseja que a chave fique na mesma linha ou comece na linha inferior a um if, por exemplo. E para a nossa felicidade, existe uma extensão do Visual Studio Code, que integra com APEX PMD, permitindo que o seus códigos sigam um padrão definido por toda a sua equipe, toda a configuração do padrão é definido em um arquivo .xml, que você deve compartilhar entre todos os membros da equipe, garantindo assim que todos sigam o padrão definido.

 

Por fim, você pode obter mais informações da extensão do Salesforce para o Visual Studio Code aqui, no Github oficial.

Me conta aqui abaixo nos comentários, qual IDE você utiliza para desenvolver?

 

Um forte abraço trailblazer e até o próximo post  :)

 

Fernando Sousa

Senior Salesforce Developer

Bacharel em Sistemas da Informação pela Universidade de Taubaté (UNITAU) e MBA em Projeto de Aplicações para Dispositivos Móveis pelo IGTI – Instituto de Gestão em Tecnologia da Informação. 

Comecei a programar bem cedo, por volta de 10 anos de idade, de maneira auto-didata passei por várias linguagens.

Em 2015 me conectei a plataforma Salesforce pela primeira vez, para fazer una integração entre um Aplicativos Mobile em android e o Salesforce Platform. 

Atualmente com as certificações Salesforce Certified Platform Developer I, Salesforce Certified Platform App BuilderSalesforce Certified Platform Developer IISalesforce Administrator e Sharing and Visibility.

Acompanhe meu Trailhead aqui.

 

EclipseIDEIntelliJJetforceSalesforce DevelopementSalesforce DeveloperVisual Studio CodeVSCode