O Microsoft Windows melhorou enormemente como ambiente de desenvolvedor nos últimos anos. O Windows Subsystem for Linux (WSL) permite que você trabalhe perfeitamente com Linux no Windows sem o barulho e a sobrecarga de uma VM. Todas as ferramentas populares de desenvolvimento de software que fazem parte dos fluxos de trabalho comuns existem nas edições nativas do Windows. E a Microsoft introduziu uma série de comodidades para desenvolvedores diretamente no sistema operacional que ainda não recebem o faturamento que merecem.
Nada disso é automático, no entanto. Se quiser aproveitar ao máximo o Windows como sistema de desenvolvimento, você precisará fazer um pouco de trabalho braçal. O trabalho não está muito fora das formas usuais pelas quais os desenvolvedores ajustam seus ambientes de trabalho, mas as etapas específicas são importantes – e algumas delas não são óbvias.
Aqui está um passeio pelas cinco etapas mais importantes a serem seguidas para configurar um sistema Windows para trabalho de desenvolvimento de software. Observe que você precisará de direitos de administrador no sistema para realizar muitas tarefas.
Etapa 1. Instale o subsistema Windows para Linux
WSL oferece aos usuários do Windows um sistema Linux completo na linha de comando, com menos sobrecarga do que uma VM. A maior parte do trabalho de desenvolvimento de software mundial acontece no Linux ou em um sistema semelhante ao Unix como o macOS, portanto, ter um sistema Linux real disponível em uma sessão de terminal é uma grande vantagem.
Para instalar o WSL, abra um console com nível de administrador e digite:
wsl --install
A instalação pode levar algum tempo, pois o sistema precisará baixar os bits principais do WSL e de uma distribuição Linux para rodar com ele.
A distribuição Linux padrão no WSL é Ubuntu 26.04 LTS. No que diz respeito aos padrões, o Ubuntu irá satisfazer a maior parte do que um desenvolvedor pode precisar de uma distribuição Linux. No entanto, outras distribuições estão disponíveis e mais estão sendo adicionadas regularmente. Você pode até construir sua própria distribuição Linux personalizada para WSL.
Depois que o WSL estiver instalado, você pode entrar wsl --list --online para ver todas as distribuições disponíveis. Digitar wsl --install (use os nomes da coluna da esquerda) para instalar um.
A maioria das opções atende a gostos diferentes ou a uma necessidade específica. Por exemplo, se você se sente mais confortável com o Debian Linux, ou está desenvolvendo um projeto que assume o Debian como substrato, você deseja instalar o Debian. Mas o Ubuntu deve funcionar na maioria dos casos de uso.
As distros WSL são armazenadas por padrão no arquivo do seu usuário AppData diretório, sob AppDataLocalPackages. Se quiser realocar os arquivos para outro diretório ou volume, você pode usar o comando wsl --manage --move .
A Microsoft introduziu recentemente um novo recurso importante para WSL, contêiner WSL, que permite executar contêineres Linux nativamente no Windows. O contêiner WSL está atualmente em versão prévia pública.
Etapa 2. Configure um volume do Dev Drive para seus projetos
A maioria dos usuários do Windows simplesmente usará como padrão um diretório em um volume NTFS para armazenar seus projetos, seja no perfil de usuário ou em outro caminho. Este não é um padrão ruim, mas deixa melhores opções na mesa. Um deles é o Dev Drive.
Dev Drive é um tipo mais recente de volume oferecido no Windows. Em vez de NTFS, ele usa um sistema de arquivos mais recente chamado ReFS (“Resilient File System”), que foi originalmente desenvolvido para Windows Server. O ReFS oferece recursos que complementam os tipos de cargas de trabalho que surgem no desenvolvimento de software:
- Cópia na gravação. Os diretórios do projeto podem ter milhares de arquivos e dezenas de diretórios. Fazer cópias desses projetos pode ser muito mais rápido com o ReFS, porque ele faz cópias de arquivos somente quando eles estão mudadonão apenas quando eles estão copiado. Cópias inalteradas são links no disco para os originais.
- Melhor controle sobre o comportamento do antivírus. Os Dev Drives, por padrão, minimizam a interferência causada pelas ferramentas antivírus nativas do Windows. É possível excluir manualmente os diretórios de desenvolvimento da verificação, mas o simples ato de configurar um Dev Drive automatiza a forma como a verificação é gerenciada em seu conteúdo.
- VHD ou partição. Os Dev Drives podem ser configurados como um arquivo de disco rígido virtual ou usados diretamente em uma partição formatada. O primeiro é mais flexível (mais fácil de redimensionar, por exemplo); o último pode ter um desempenho um pouco melhor.
Duas coisas que você deve ter em mente sobre Dev Drives:
- Dev Drives são para projetos, não para ferramentas. Armazene seus repositórios de projetos, crie artefatos e arquivos armazenados em cache em Dev Drives. Não instale tempos de execução de linguagem, compiladores ou outros utilitários de conjunto de ferramentas neles. Use volumes NTFS regulares para isso.
- As ferramentas do sistema de arquivos de baixo nível podem não funcionar conforme esperado em volumes do Dev Drive. Utilitários de sistema de arquivos de nível especializado que funcionam lendo diretamente informações da tabela de arquivos podem não se comportar conforme esperado com Dev Drives (e volumes ReFS em geral). Por exemplo, a ferramenta de gerenciamento de espaço em disco WizTree, que lê dados de volume NTFS diretamente para melhor desempenho, diminui a velocidade para um rastreamento quando usada em volumes ReFS.
Etapa 3. Use WinGet para gerenciamento de pacotes
Até recentemente, o Windows não tinha nada como um sistema formal de gerenciamento de pacotes ou um gerenciador central de pacotes. A Microsoft Store não era uma solução. Ele instalava apenas aplicativos que estavam em conformidade com o sistema de empacotamento da Plataforma Universal do Windows, fornecia apenas aplicativos entregues especificamente por meio da Microsoft Store e não tinha interface de linha de comando.
Mais recentemente, a Microsoft introduziu um sistema de gerenciamento de pacotes adequado para Windows: WinGet. WinGet instala qualquer tipo de aplicativo do Windows e fornece uma interface de linha de comando completa para interação e automação. Além disso, é amplamente suportado pelo ecossistema de software Windows. As probabilidades são de que qualquer programa do Windows que você queira tenha um pacote WinGet. Isso torna o WinGet uma maneira ideal de obter todas as ferramentas necessárias em seu sistema de desenvolvimento. (Mais sobre isso mais tarde.)
Para pesquisar um pacote no repositório WinGet, digite:
winget search "Thing to search for"
As aspas são necessárias se o pacote que você procura tiver espaços no nome, por exemplo, Adobe Acrobat Reader.
Resultado da pesquisa WinGet para o termo “Acrobat”. A coluna Id mostra o nome a ser usado com o comando winget install.
Fundição
Instalar um pacote WinGet é bastante simples:
winget install
onde é o Id (não o nome!) do pacote a ser instalado. Para Adobe Acrobat Reader, conforme acima, você digitaria:
winget install Adobe.Acrobat.Reader.64-bit
Se você deseja uma interface gráfica agradável para o seu fluxo de trabalho de gerenciamento de pacotes, consulte UniGetUI. UniGetUI gerencia pacotes para várias fontes de gerenciamento de pacotes – WinGet, Scoop, Chocolatey, npm, pip, Cargo e muito mais.
Etapa 4. Configure o PowerShell para permitir scripts
Este é um ajuste único que você vai querer tirar do caminho antes de fazer muito mais. É um encantamento do PowerShell para permitir a execução de scripts locais.
Inicie o PowerShell como administrador e digite:
set-executionpolicy remotesigned
Você só precisa fazer isso uma vez durante a vida útil do sistema. O Windows ainda exigirá que todos os scripts do PowerShell baixados da Internet sejam assinados, mas isso é essencialmente um caso extremo. Todos os scripts criados localmente funcionarão como estão.
Etapa 5. Instale suas ferramentas de desenvolvimento indispensáveis
WinGet oferece acesso rápido a todas as ferramentas mais comuns que você deseja em um sistema Windows centrado no desenvolvimento. Provavelmente, você já tem suas ferramentas preferidas, mas aqui está um resumo das coisas mais úteis no desenvolvimento do Windows, junto com seus IDs WinGet para fácil instalação.
- Git (
Git.Git): O sistema de controle de versão favorito de todos. A versão para Windows é essencialmente idêntica a outras plataformas. - Visual Studio BuildTools 2022 (
Microsoft.VisualStudio.2022.BuildTools): as ferramentas mínimas de linha de comando necessárias para usar o sistema de compilação C/C++ do Microsoft Visual Studio. - CMake (
Kitware.Cmake): solução de compilação multiplataforma para C/C++. Frequentemente necessário para projetos maiores ou mais complexos que utilizam essas linguagens.
Observe que a instalação padrão do BuildTools geralmente não possui as ferramentas para executar operações mínimas de compilação C/C++. A execução deste comando deve fornecer o que você precisa:
winget install -e --id Microsoft.VisualStudio.2022.BuildTools --force --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended"
Todos os editores populares também estão disponíveis como aplicativos nativos do Windows:
- Código do Microsoft Visual Studio (
Microsoft.VisualStudioCode) - GNU Emacs (
GNU.Emacs) - Neovim (
Neovim.Neovim)
Algumas outras ferramentas para desenvolvimento no Windows são opcionais, mas úteis:
- CoreUtils para Windows (
Microsoft.Coreutils): Um projeto de código aberto mantido pela Microsoft que traz dezenas de utilitários de linha de comando do Linux para o Windows, comocp,grep,findels. - MSYS2 (
MSYS2.MSYS2): Uma coleção de ferramentas para construir binários do Windows usando o compilador GCC. Basicamente, uma alternativa à pilha de construção do Visual Studio baseada no ambiente Cygwin. - LLVM (
LLVM.LLVM): A estrutura do compilador que alimenta Clang, Rust, Swift e muitos outros projetos. Observe que se você estiver usando o LLVM como dependência, precisará instalar a versão específica do LLVM exigida pelo seu projeto. - Área de Trabalho Docker (
XP8CBJ40XLBWKX): a versão nativa do Windows do aplicativo Docker Desktop. - PowerToys da Microsoft (
Microsoft.PowerToys): Uma coleção de mais de 30 utilitários que facilitam muito os ajustes do Windows – um editor de arquivos hosts, uma ferramenta de desbloqueio de arquivos (útil para identificar quais processos estão bloqueando um determinado arquivo), uma ferramenta de fixação de janela, uma ferramenta de extração de texto (útil para ler texto de qualquer lugar, incluindo partes da tela que não podem ser destacadas com o cursor) e muito mais.
Um sistema de desenvolvimento Windows em uma única etapa
A maioria dos desenvolvedores gosta de ter controle total sobre as instalações e configurações de seu sistema de desenvolvimento. Mas outros podem querer um kit inicial pronto para uso e opinativo. Para quem deseja o atalho, a Microsoft fornece o Windows Developer Config.
Windows Developer Config é uma coleção de scripts do PowerShell que configuram seu sistema como um ambiente de desenvolvimento. Você pode escolher entre uma configuração completa de estação de trabalho de desenvolvimento, uma configuração “WSL Comfort” que se concentra em ferramentas de linha de comando ou uma das várias configurações de carga de trabalho específicas de linguagem que fornecem o compilador/interpretador, ferramentas adicionais e extensões de código VS.
