Configurando o R com o Visual Studio Code de maneira rápida e fácil com o pacote languageserversetup

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon Rblog de Jozef, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

Nos últimos anos, o R vem ganhando popularidade, dando vida a novas ferramentas. Graças ao incrível trabalho dos colaboradores que implementaram o Language Server Protocol for R e criaram o Visual Studio Code Extensions for R, o ambiente de desenvolvimento mais popular entre os desenvolvedores em todo o mundo agora também oferece um suporte muito forte ao R.

Neste post, veremos o languageserversetup pacote que visa tornar a instalação do R Language Server robusta e fácil de usar, instalando-a em uma biblioteca independente e separada e ajustando a inicialização do R de uma maneira que inicialize o servidor de idiomas quando relevante.

De acordo com a pesquisa de desenvolvedores StackOverflow de 2019, o Visual Studio Code é o ambiente de desenvolvimento mais popular do mundo, com suporte incrível para muitos idiomas e extensões, desde edição aprimorada de código até suporte avançado ao controle de versão e integração ao Docker.

Até recentemente, na minha opinião, o suporte ao R no Visual Studio Code não era abrangente o suficiente para justificar a mudança de outras ferramentas, como o RStudio (Server), para o uso exclusivo do VS Code. Isso mudou com o trabalho realizado pela equipe que implementou as três ferramentas a seguir:

Os recursos agora incluem tudo o que precisamos para trabalhar com eficiência, incluindo preenchimento automático, provedor de definição, formatação de código, instrução de código, informações sobre funções em foco, provedor de cores, seções de código e muito mais.

Se você estiver interessado em mais etapas sobre a configuração e a visão geral dos recursos, recomendo o post do Writing R no VSCode: A Fresh Start, de Kun Ren. Eu também recomendo que você siga Kun no Twitter, se você estiver interessado nos últimos desenvolvimentos.

Leia Também  Instituições financeiras têm apenas 14 minutos e 20 segundos para clientes a bordo digitalmente

Com minha equipe atual, adotamos quase totalmente o Visual Studio Code como um IDE para o nosso trabalho em R, o que é especialmente bom, pois o trabalho é multilíngüe e multi-ambiente por natureza e podemos fazer nosso desenvolvimento em Scala, R e mais, incluindo a implementação e teste de pipelines Jenkins e o design de imagens do Docker sem sair do VS Code.

Configurando a equipe em vários sistemas e plataformas, encontramos os seguintes pontos interessantes, que foram minha motivação para escrever um pequeno pacote R, o languageserversetup, que deve tornar a instalação e configuração do servidor de linguagem R o mais fácil e simples possível.

Gerenciando bibliotecas de pacotes

Uma das especificidades do R é que todas as extensões (pacotes) são instaladas nas bibliotecas de pacotes, sejam os pacotes que desenvolvemos e usamos para nossos aplicativos ou as ferramentas que usamos principalmente como meio para facilitar a vida do desenvolvimento. Portanto, podemos frequentemente terminar em uma situação em que precisamos usar versões diferentes dos pacotes R para diferentes propósitos. Por exemplo, o languageserver pacote atualmente precisa R6 (>= 2.4.1), stringr (>= 1.4.0) e mais, no total, requer recursivamente que outros 75 pacotes R sejam instalados. Ao instalar e executar o pacote, podemos encontrar versões conflitantes do que nossos aplicativos atuais precisam versus o que os languageserver pacote requer para funcionar corretamente.

Uma solução – Separação completa de bibliotecas e inicialização inteligente

Uma solução possível para os problemas acima é:

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
  1. Mantenha as bibliotecas de pacotes do languageserver e as outras bibliotecas que o usuário usa (talvez além da biblioteca principal do sistema que contém os pacotes base e recomendados que acompanham a instalação do R) completamente separados, incluindo todas as dependências que não são de base

  2. Inicialize essa biblioteca apenas quando o processo R em questão for acionado pelo servidor de idiomas; caso contrário, mantenha o processo intocado e use as bibliotecas do usuário normalmente.

Para tornar a solução acima facilmente acessível, criei um pequeno pacote R chamado languageserversetup isso fará todo o trabalho para você. Ele pode ser instalado a partir do CRAN e não possui dependências em outros pacotes R:

install.packages("languageserversetup")

Agora toda a instalação possui apenas 2 etapas:

  1. Instale o languageserver pacote e todas as suas dependências em uma biblioteca independente separada (solicitará confirmação antes de executar uma ação) usando:
languageserversetup::languageserver_install()
  1. Adicionar código a .Rprofile alinhar automaticamente os caminhos da biblioteca para a funcionalidade do servidor de idiomas, se o processo for uma instância do languageservercaso contrário, a sessão R será executada normalmente com os caminhos da biblioteca não afetados. Isso é conseguido executando (também solicitará confirmação):
languageserversetup::languageserver_add_to_rprofile()

É isso aí. Agora você pode aproveitar a funcionalidade sem se preocupar com a configuração de bibliotecas ou qualquer conflito de versão do pacote. Graças à separação completa das bibliotecas, a remoção é tão trivial quanto a exclusão do diretório da biblioteca.

Se você estiver interessado em mais detalhes técnicos,

  • visite o repositório GitHub de acesso aberto do pacote.
  • o README.md possui informações sobre opções de configuração, instalação, desinstalação, plataformas e mais
  • os arquivos de ajuda para as funções podem ser acessados ​​a partir de R com ?languageserver_install, ?languageserver_startup, ?languageserver_add_to_rprofile e ?languageserver_remove_from_rprofile para mais detalhes sobre seus argumentos e personalização
  • para teste, as ações do GitHub são configuradas para várias plataformas e para executar todas as verificações de CRAN no pacote em cada confirmação



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha seu sabor: e-mail, Twitter, RSS ou facebook …



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br