Modern Windows 10 development setup
Published: 2020-10-25 17:26:22

---
title: Modern Windows 10 development setup
description: Learn to use configure Windows 10 for development
canonical_url: https://blog.alexandrudanpop.dev/posts/modern-windows-10-dev-setup-1lnl
---

Windows is the [most popular desktop & laptop OS](https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#:~:text=The%202019%20Stack%20Overflow%20developer), love it or hate it, lots of programmers run this OS.  

The reasons may be various, but I like to think that many use it because **it just works** very well for a lot of stuff - including programming.

Ok, another reason that matters to many. For some time Mac computers didn't have a real competitor design-wise. I think now, they do. 

I mean just take a look at the new [2020 Dell XPS 13]
(https://www.amazon.co.uk/dp/B084J4LFJD/ref=as_li_ss_tl?language=en_US&ie=UTF8&linkCode=gs4&linkId=e1bc65bb491f87147af7fe5c371cff86&tag=laptoptalks0e-21) - that thing is gorgeous. 

![Dell xps 13 pic](https://dev-to-uploads.s3.amazonaws.com/i/51vnnp8fu4r4x55lwmby.jpg)

While I don't want to raise a battle on Windows vs Linux vs Mac, I want to state that I've tried all 3, and I like them all for what they do best. Windows is a very good all-around operating system that also has its quirks, so I want to share what you can do to make your developer experience as good as possible on this OS. 

## Chocolatey 🍫 or Winget
The Package Manager for Windows - this tool, once installed, can do things like: 
`choco install nodejs`
`choco install vscode`
`choco install firefox`

Amazing right? You can have a script with everything you need to install on a new machine - making the setup process really easy. Also - they have a cool [website](https://chocolatey.org/) where you can search packages and see what other nice things `choco` does (besides getting some nice dopamine in your brain).

As of 2023, it's probably better to use `winget` instead of `choco`, check it out [here](https://winget.run/) and read more about it on [learn.microsoft.com](https://learn.microsoft.com/en-us/windows/package-manager/winget/).

Alternatively, you could also check out [Scoop](https://scoop.sh/).

## Cmder 💻
[Cmder](https://cmder.net/) is a console emulator - allowing you to have a multi-tab console for Windows - supporting cmd, Powershell & bash. It has lots of customization features - like choosing a background, the font-size, aliases, and other nice features. Also has good keyboard shortcuts out of the box.

By the way, you can also map your VS Code terminal to be Cmder.

Some alternatives:
- [Windows terminal](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab) 
- [Hyper](https://hyper.is/)

I'd say give all a shot and pick the one you like the most.

## Wox 🔎
[Wox](http://www.wox.one/) - I really enjoy using this tool as a Spotlight alternative for Windows. Need to quickly find an app, run something from a command line, calculate something, or search something on google? Wox can do all those things for you - FAST!

![Wox launcher](https://dev-to-uploads.s3.amazonaws.com/i/2u26zhojh1udvteo3pm3.gif)

## Code editors
Take your pick, the best of the best run on Windows of course:
- VSCode
- Webstorm
- Atom
- Sublime text

## Develop as on a Linux box with WSL2 🐧
Of course, spinning up a Linux VM is pretty easy on Windows with Hyper-V, but why bother when you can get this *natively*? You just need to turn on WSL from the Windows features section, and then you can code using Linux-first languages like Ruby or Python in the environment they were designed to run.

A gotcha when running things in WSL2 is using `/mnt/c` that will make your dev experience really slow. You should not use the Windows drives for WSL2 development, but the actual WSL2 drive, for example:
`/home/{username}/projects`

{% youtube Owrk9UxnMdI %}

## Extra steps to make the OS faster
1. Uninstall any bloatware
2. [Prevent Windows Security dev folders scanning](https://www.windowscentral.com/how-exclude-files-and-folders-windows-defender-antivirus-scans) (if you are sure you are using only trusted secure software - beware that some hacked `npm packages` have exploited Windows machines in the past)
3. [Turn off Windows search indexing](https://www.online-tech-tips.com/computer-tips/simple-ways-to-increase-your-computers-performace-turn-off-indexing-on-your-local-drives/#:~:text=To%20do%20it%2C%20first%20open,After%2C%20click%20Apply.) - since you are using Wox, you don't need it

## Conclusions
#### Do you need a Mac to code?
Absolutely not. Unless you are doing some OSX/iOS development, you definitely don't need a Mac. Pretty much everything you can do on a Mac is possible on a Windows PC as well. 

Leave a 🧡 & 🦄 if you like this article, also check out my [Twitter](https://twitter.com/alexandrudanpop) where I post more cool content.