Microsoft Home windows has improved massively as a developer setting over the previous few years. Home windows Subsystem for Linux (WSL) helps you to work seamlessly with Linux on Home windows with out the clunk and overhead of a VM. The entire standard software program improvement instruments that determine into widespread workflows exist in native Home windows editions. And Microsoft has launched a slew of developer facilities instantly into the OS that also don’t get the billing they deserve.
None of that is automated, although. If you wish to take most benefit of Home windows as a improvement system, you’ll have to do some legwork. The work isn’t far out of line from the standard methods builders tweak their work environments, however the particular steps matter — and a few of them aren’t apparent.
Right here’s a stroll by the 5 most necessary steps to take to configure a Home windows system for software program improvement work. Observe that you just’ll want admin rights on the system to perform lots of duties.
Step 1. Set up Home windows Subsystem for Linux
WSL offers Home windows customers a whole Linux system on the command line, with much less overhead than a VM. The lion’s share of the world’s software program improvement work occurs on Linux, or a Unix-like system like macOS, so having an precise Linux system out there in a terminal session is a large boon.
To put in WSL, open an admin-elevated console and enter:
wsl --install
Set up might take a while, because the system might want to obtain each the core bits for WSL and a Linux distribution to run with it.
The default Linux distribution in WSL is Ubuntu 26.04 LTS. As defaults go, Ubuntu will fulfill most of what a developer may want from a Linux distribution. Nonetheless, different distributions can be found and extra are being added often. You’ll be able to even construct your personal customized Linux distribution for WSL.
As soon as WSL is put in, you may enter wsl --list --online to see all the out there distributions. Enter wsl --install (use the names from the left-hand column) to put in one.
Most of selections swimsuit completely different tastes or a selected want. As an illustration, in case you are most comfy with Debian Linux, or you might be growing a venture that assumes Debian because the substrate, you’d need to set up Debian. However Ubuntu ought to work for many use circumstances.
WSL distros are saved by default in your consumer’s AppData listing, below AppDataLocalPackages. If you wish to relocate the information to a different listing or quantity, you need to use the command wsl --manage --move .
Microsoft not too long ago launched a significant new characteristic for WSL, WSL container, that means that you can run Linux containers natively on Home windows. WSL container is at the moment in public preview.
Step 2. Configure a Dev Drive quantity on your tasks
Most Home windows customers will merely default to utilizing a listing on an NTFS quantity to retailer their tasks, whether or not in a single’s consumer profile or on one other path. This isn’t a nasty default, however it leaves higher choices on the desk. One in every of them is Dev Drive.
Dev Drive is a more recent kind of quantity provided on Home windows. As an alternative of NTFS, it makes use of a more recent file system known as ReFS (“Resilient File System”), which was initially developed for Home windows Server. ReFS provides options that complement the sorts of workloads that come up in software program improvement:
- Copy-on-write. Venture directories can have 1000’s of information and dozens of directories. Making copies of these tasks may be dealt with a lot quicker with ReFS, as a result of it makes copies of information solely once they’re modified, not merely once they’re copied. Unchanged copies are on-disk hyperlinks to the originals.
- Higher management over antivirus conduct. Dev Drives, by default, reduce the interference brought on by Home windows’s native antivirus instruments. It’s doable to manually exclude improvement directories from scanning, however the mere act of organising a Dev Drive automates how scanning is managed on its contents.
- VHD or partition. Dev Drives may be arrange as a digital exhausting disk file or used instantly on a formatted partition. The previous is extra versatile (simpler to resize, for one); the latter could also be barely extra performant.
Two issues it is best to have in mind about Dev Drives:
- Dev Drives are for tasks, not instruments. Retailer your venture repositories, construct artifacts, and cached information on Dev Drives. Don’t set up language runtimes, compilers, or different toolchain utilities on them. Use common NTFS volumes for that.
- Low-level file system instruments might not work as supposed on Dev Drive volumes. Skilled-level file system utilities that work by instantly studying file desk data might not behave as supposed with Dev Drives (and ReFS volumes usually). As an illustration, the disk house administration software WizTree, which reads NTFS quantity information instantly for higher efficiency, slows to a crawl when used on ReFS volumes.
Step 3. Use WinGet for bundle administration
Till not too long ago, Home windows had nothing like a proper bundle administration system, or a central bundle supervisor. The Microsoft Retailer wasn’t an answer. It solely put in apps that conformed to the Common Home windows Platform packaging system, solely offered apps particularly delivered by the Microsoft Retailer, and had no command-line interface.
Extra not too long ago, Microsoft launched a correct bundle administration system for Home windows: WinGet. WinGet installs any kind of Home windows app, and supplies a full command-line interface for interplay and automation. Plus, it’s broadly supported by the Home windows software program ecosystem. Odds are that any Home windows program you may want has a WinGet bundle. That makes WinGet a super strategy to seize all of the tooling you have to in your improvement system. (Extra on this later.)
To look the WinGet repository for a bundle, enter:
winget search "Factor to seek for"
The quotes are wanted if the bundle you search has areas within the identify, e.g., Adobe Acrobat Reader.

WinGet search output for the time period “Acrobat”. The Id column exhibits the identify to make use of with the winget set up command.
Foundry
Putting in a WinGet bundle is easy sufficient:
winget set up
the place is the Id (not the identify!) of the bundle to put in. For Adobe Acrobat Reader, as per above, you’d enter:
winget set up Adobe.Acrobat.Reader.64-bit
In order for you a pleasant GUI on your bundle administration workflow, look into UniGetUI. UniGetUI manages packages for a number of bundle administration sources — WinGet, Scoop, Chocolatey, npm, pip, Cargo, and lots of extra.
Step 4. Arrange PowerShell to permit scripts
It is a one-and-done tweak you’ll need to get out of the way in which earlier than doing an excessive amount of else. It’s a PowerShell incantation to permit native scripts to run.
Launch PowerShell as administrator and enter:
set-executionpolicy remotesigned
You solely want to do that as soon as for the lifetime of the system. Home windows will nonetheless require any PowerShell scripts you obtain from the web to be signed, however that’s primarily an edge case. Any scripts you create regionally will work as-is.
Step 5. Set up your must-have improvement instruments
WinGet offers you quick entry to all the most typical instruments you’d need on a dev-centric Home windows system. Likelihood is you have already got your most popular instruments, however right here’s a rundown of the largest issues helpful in Home windows improvement, together with their WinGet Ids for simple set up.
- Git (
Git.Git): Everybody’s favourite model management system. The Home windows model is basically an identical to different platforms. - Visible Studio BuildTools 2022 (
Microsoft.VisualStudio.2022.BuildTools): The minimal command-line tooling wanted to make use of Microsoft Visible Studio’s C/C++ compilation system. - CMake (
Kitware.Cmake): Cross-platform construct resolution for C/C++. Often wanted for bigger or extra complicated tasks utilizing these languages.
Observe that the default BuildTools set up usually lacks the instruments to carry out minimal C/C++ construct operations. Operating this command ought to provide you with what you want:
winget set up -e --id Microsoft.VisualStudio.2022.BuildTools --force --override "--passive --wait --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended"
The entire standard editors are additionally out there as native Home windows apps:
- Microsoft Visible Studio Code (
Microsoft.VisualStudioCode) - GNU Emacs (
GNU.Emacs) - Neovim (
Neovim.Neovim)
Another instruments for growing in Home windows are elective, however helpful:
- CoreUtils for Home windows (
Microsoft.Coreutils): A Microsoft-maintained open-source venture that brings dozens of Linux command-line utilities to Home windows, comparable tocp,grep,discover, andls. - MSYS2 (
MSYS2.MSYS2): A group of instruments for constructing Home windows binaries utilizing the GCC compiler. Mainly, a substitute for the Visible Studio construct stack primarily based on the Cygwin setting. - LLVM (
LLVM.LLVM): The compiler framework that powers Clang, Rust, Swift, and lots of different tasks. Observe that in case you are utilizing LLVM as a dependency, you have to to put in the precise model of LLVM that your venture requires. - Docker Desktop (
XP8CBJ40XLBWKX): The Home windows-native model of the Docker Desktop utility. - Microsoft PowerToys (
Microsoft.PowerToys): A group of 30-plus utilities that make tweaking Home windows a great deal simpler — a hosts file editor, a file unlocking software (helpful for figuring out which processes are locking a given file), a window pinning software, a textual content extractor software (helpful for studying textual content from anyplace, together with components of the display screen that may’t be highlighted with the cursor), and lots of extra.
A Home windows improvement system in a single step
Most builders like having full management over the installations and configuration of their improvement system. However others might want an out-of-the-box, opinionated starter package. For individuals who need the shortcut, Microsoft supplies Home windows Developer Config.
Home windows Developer Config is a set of PowerShell scripts that arrange your system as a improvement setting. You’ll be able to select from a full dev workstation setup, a “WSL Consolation” setup that focuses on command-line tooling, or one in all a number of language-specific workload setups that provide the compiler/interpreter, extra instruments, and VS Code extensions.
