{"id":128,"date":"2017-05-21T02:40:03","date_gmt":"2017-05-21T05:40:03","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/2017\/05\/instalando-visualstudio-no-ubuntu\/"},"modified":"2026-09-08T02:41:28","modified_gmt":"2026-09-08T05:41:28","slug":"instalando-visualstudio-no-ubuntu","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2017\/05\/instalando-visualstudio-no-ubuntu\/","title":{"rendered":"Instalando o Visual Studio Code no Ubuntu"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" alt=\"Mascote do LinuxPro digitando no teclado diante do editor de c\u00f3digo, com o logo do Visual Studio Code ao lado\" src=\"\/wp-content\/uploads\/2026\/09\/vscode-v4.webp\" width=\"1052\" height=\"652\" \/><\/p>\n<div style=\"background:#fff8e1;border-left:4px solid #8b1a1a;padding:.8em 1em;margin:1em 0\"><strong>Nota (2026):<\/strong> o post original, de 2017, instalava o VS Code baixando um <code data-no-translation=\"\">.deb<\/code> avulso e misturava dois produtos diferentes. Foi refeito: o m\u00e9todo correto hoje \u00e9 o <strong>reposit\u00f3rio apt oficial<\/strong>, que atualiza junto com o sistema \u2014 e vale saber que existe uma build alternativa sem telemetria.<\/div>\n<p>O <strong>Visual Studio Code<\/strong> \u00e9 o editor mais usado do mundo, roda bem em Linux e \u00e9 gratuito. Este guia mostra como instalar do jeito que se mant\u00e9m atualizado sozinho, o que fazer logo depois e qual \u00e9 a diferen\u00e7a entre o bin\u00e1rio da Microsoft e o <strong>VSCodium<\/strong>.<\/p>\n<p><!-- more --><\/p>\n<h2>Antes: VS Code n\u00e3o \u00e9 Visual Studio<\/h2>\n<p>Os nomes confundem, mas s\u00e3o produtos diferentes:<\/p>\n<ul>\n<li><strong>Visual Studio Code<\/strong> \u2014 editor de c\u00f3digo leve, multiplataforma, escrito em TypeScript sobre Electron. \u00c9 este que roda em Linux.<\/li>\n<li><strong>Visual Studio<\/strong> (sem &#8220;Code&#8221;) \u2014 a IDE pesada da Microsoft para .NET, C++ e C#, nas edi\u00e7\u00f5es Community, Professional e Enterprise. Ela <strong>n\u00e3o existe para Linux<\/strong>. Quem precisa de .NET no Linux usa o SDK pela linha de comando \u2014 assunto do post <a href=\"\/es\/2026\/09\/instalando-dotnet-10-no-linux\/\">instalando o .NET no Linux<\/a> \u2014 com o VS Code por cima.<\/li>\n<\/ul>\n<h2>Instalando pelo reposit\u00f3rio oficial (recomendado)<\/h2>\n<p>Este \u00e9 o caminho certo: registra o reposit\u00f3rio da Microsoft, e a partir da\u00ed o editor atualiza junto com o `apt upgrade` do sistema, sem voc\u00ea ca\u00e7ar `.deb` novo a cada vers\u00e3o.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo apt install wget gpg\n\nwget -qO- https:\/\/packages.microsoft.com\/keys\/microsoft.asc \n  | sudo gpg --dearmor -o \/usr\/share\/keyrings\/microsoft.gpg\n<\/code><\/pre>\n<p>Agora o arquivo de reposit\u00f3rio. As distribui\u00e7\u00f5es recentes usam o formato <code data-no-translation=\"\">deb822<\/code>, mais leg\u00edvel que a linha \u00fanica antiga:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo tee \/etc\/apt\/sources.list.d\/vscode.sources &gt; \/dev\/null &lt;&lt;'FIM'\nTypes: deb\nURIs: https:\/\/packages.microsoft.com\/repos\/code\nSuites: stable\nComponents: main\nArchitectures: amd64,arm64,armhf\nSigned-By: \/usr\/share\/keyrings\/microsoft.gpg\nFIM\n\nsudo apt update\nsudo apt install code\n<\/code><\/pre>\n<p>Repare no <code data-no-translation=\"\">Architectures<\/code>: al\u00e9m do <code data-no-translation=\"\">amd64<\/code> normal, o reposit\u00f3rio serve <code data-no-translation=\"\">arm64<\/code>. Ou seja, funciona num Raspberry Pi 4\/5 de 64 bits e em servidores ARM, n\u00e3o s\u00f3 no PC.<\/p>\n<h2>As outras formas<\/h2>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\"># snap (vem pronto no Ubuntu)\nsudo snap install --classic code\n\n# flatpak, pela Flathub\nflatpak install flathub com.visualstudio.code\n\n# .deb avulso, quando voc\u00ea precisa de uma vers\u00e3o espec\u00edfica\nsudo apt install .\/code_1.XX.X_amd64.deb\n<\/code><\/pre>\n<p>O <code data-no-translation=\"\">--classic<\/code> do snap n\u00e3o \u00e9 decora\u00e7\u00e3o: sem ele o editor fica confinado e n\u00e3o enxerga seus arquivos nem os compiladores instalados no sistema. O flatpak tem a mesma limita\u00e7\u00e3o de sandbox e exige liberar acesso a pastas \u2014 para um editor, que precisa alcan\u00e7ar o projeto inteiro e as ferramentas de build, o reposit\u00f3rio apt continua sendo o caminho de menos atrito.<\/p>\n<h2>VSCodium: o mesmo editor, sem telemetria<\/h2>\n<p>Aqui est\u00e1 a parte que o post de 2017 n\u00e3o contava. O c\u00f3digo-fonte do VS Code est\u00e1 no <a href=\"https:\/\/github.com\/microsoft\/vscode\">github.com\/microsoft\/vscode<\/a> sob <strong>licen\u00e7a MIT<\/strong>. Mas o bin\u00e1rio que a Microsoft distribui n\u00e3o \u00e9 s\u00f3 esse c\u00f3digo compilado: na hora do build ela acrescenta o que a pr\u00f3pria documenta\u00e7\u00e3o chama de &#8220;funcionalidade espec\u00edfica da Microsoft&#8221; \u2014 <strong>telemetria, a galeria de extens\u00f5es e a marca<\/strong> \u2014 e o distribui sob licen\u00e7a propriet\u00e1ria.<\/p>\n<p>O <a href=\"https:\/\/vscodium.com\/\">VSCodium<\/a> \u00e9 exatamente o mesmo c\u00f3digo-fonte compilado <em>sem<\/em> esses acr\u00e9scimos: bin\u00e1rio MIT, telemetria desligada. Instala igual:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">wget -qO- https:\/\/gitlab.com\/paulcarroty\/vscodium-deb-rpm-repo\/raw\/master\/pub.gpg \n  | gpg --dearmor \n  | sudo dd of=\/usr\/share\/keyrings\/vscodium-archive-keyring.gpg\n\nsudo tee \/etc\/apt\/sources.list.d\/vscodium.sources &gt; \/dev\/null &lt;&lt;'FIM'\nTypes: deb\nURIs: https:\/\/download.vscodium.com\/debs\nSuites: vscodium\nComponents: main\nArchitectures: amd64 arm64\nSigned-by: \/usr\/share\/keyrings\/vscodium-archive-keyring.gpg\nFIM\n\nsudo apt update\nsudo apt install codium\n<\/code><\/pre>\n<p>O pre\u00e7o da troca: o marketplace oficial da Microsoft tem termos de uso que s\u00f3 permitem o cliente dela, ent\u00e3o o VSCodium aponta para o <strong>Open VSX<\/strong>, um cat\u00e1logo aberto. A maioria das extens\u00f5es populares est\u00e1 l\u00e1, mas algumas \u2014 em geral as pr\u00f3prias da Microsoft, como as de C++ e as de acesso remoto \u2014 n\u00e3o. Vale checar antes de migrar se a extens\u00e3o de que voc\u00ea depende existe no Open VSX.<\/p>\n<h2>Depois de instalar<\/h2>\n<p>O primeiro ganho pr\u00e1tico \u00e9 abrir projeto direto do terminal, sem passar pelo gerenciador de arquivos:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">code .                    # abre a pasta atual como projeto\ncode arquivo.py           # abre um arquivo\ncode --diff a.txt b.txt   # compara dois arquivos lado a lado\ncode --list-extensions    # o que voc\u00ea j\u00e1 tem instalado\n<\/code><\/pre>\n<p>Extens\u00f5es pela linha de comando, \u00fatil para reproduzir seu ambiente numa m\u00e1quina nova:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">code --install-extension ms-python.python\ncode --install-extension golang.go\ncode --install-extension rust-lang.rust-analyzer\n\n# levar sua lista para outra m\u00e1quina\ncode --list-extensions &gt; extensoes.txt\nxargs -n1 code --install-extension &lt; extensoes.txt\n<\/code><\/pre>\n<p>E a fun\u00e7\u00e3o que transforma o editor em ferramenta de administra\u00e7\u00e3o de servidor: o <strong>Remote \u2014 SSH<\/strong>. Com ela voc\u00ea abre uma pasta de um servidor remoto e edita como se fosse local \u2014 com syntax highlighting, terminal integrado e depurador rodando <em>l\u00e1<\/em>, n\u00e3o aqui. Para quem administra m\u00e1quina Linux por SSH, \u00e9 a diferen\u00e7a entre editar YAML no <code data-no-translation=\"\">vim<\/code> por cima de uma conex\u00e3o lenta e ter o projeto inteiro aberto na tela.<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">code --install-extension ms-vscode-remote.remote-ssh\n# depois: F1 \u2192 \"Remote-SSH: Connect to Host\" \u2192 usa o seu ~\/.ssh\/config\n<\/code><\/pre>\n<p>Ela l\u00ea o seu <code data-no-translation=\"\">~\/.ssh\/config<\/code>, ent\u00e3o os apelidos de host que voc\u00ea j\u00e1 usa aparecem na lista. Essa \u00e9 uma das extens\u00f5es que n\u00e3o est\u00e3o no Open VSX \u2014 \u00e9 o caso concreto em que a build da Microsoft ganha da do VSCodium.<\/p>\n<h2>Atalhos que valem o dedo<\/h2>\n<ul>\n<li><code data-no-translation=\"\">Ctrl+P<\/code> \u2014 abre arquivo pelo nome, sem tirar a m\u00e3o do teclado<\/li>\n<li><code data-no-translation=\"\">Ctrl+Shift+P<\/code> \u2014 a paleta de comandos: tudo que o editor sabe fazer, busc\u00e1vel por texto<\/li>\n<li><code data-no-translation=\"\">Ctrl+`<\/code> \u2014 abre e fecha o terminal integrado<\/li>\n<li><code data-no-translation=\"\">Ctrl+Shift+F<\/code> \u2014 busca em todos os arquivos do projeto<\/li>\n<li><code data-no-translation=\"\">F2<\/code> \u2014 renomeia um s\u00edmbolo em todo o projeto, respeitando escopo<\/li>\n<li><code data-no-translation=\"\">Alt+clique<\/code> \u2014 m\u00faltiplos cursores, para editar v\u00e1rias linhas de uma vez<\/li>\n<\/ul>\n<h2>Para continuar<\/h2>\n<ul>\n<li><a href=\"\/es\/2026\/09\/instalando-dotnet-10-no-linux\/\">Instalando o .NET no Linux<\/a> \u2014 o SDK que substitui o Visual Studio por aqui<\/li>\n<li><a href=\"\/es\/2026\/09\/assistentes-de-ia-no-terminal-linux\/\">Assistentes de IA no terminal Linux<\/a><\/li>\n<li><a href=\"\/es\/2017\/05\/instalando-golang-no-linux\/\">Go no Ubuntu<\/a> e <a href=\"\/es\/2017\/04\/hello-world\/\">Rust no Ubuntu<\/a> \u2014 duas linguagens com boa extens\u00e3o no editor<\/li>\n<li><a href=\"https:\/\/code.visualstudio.com\/docs\/setup\/linux\">Documenta\u00e7\u00e3o oficial de instala\u00e7\u00e3o em Linux<\/a> \u00b7 <a href=\"https:\/\/vscodium.com\/\">VSCodium<\/a> \u00b7 <a href=\"https:\/\/open-vsx.org\/\">Open VSX<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>O Visual Studio Code \u00e9 o editor mais usado do mundo, roda bem em Linux e \u00e9 gratuito. Este guia mostra como instalar do jeito que se mant\u00e9m atualizado sozinho, o que fazer logo depois e qual \u00e9 a diferen\u00e7a &#8230; <a title=\"Instalando o Visual Studio Code no Ubuntu\" class=\"read-more\" href=\"https:\/\/www.linuxpro.com.br\/es\/2017\/05\/instalando-visualstudio-no-ubuntu\/\" aria-label=\"Read more about Instalando o Visual Studio Code no Ubuntu\">Read more<\/a><\/p>","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,2,3],"tags":[405,14,262,397,5,404,406],"class_list":["post-128","post","type-post","status-publish","format-standard","hentry","category-desenv","category-linux","category-ubuntu","tag-editor","tag-howto","tag-microsoft","tag-programacao","tag-ubuntu","tag-vscode","tag-vscodium"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=128"}],"version-history":[{"count":6,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":1084,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/128\/revisions\/1084"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}