There are two main options to setup our environment for Solidity Smart Contract development on Windows.
The Microsoft recommendation is to use Windows Subsystem for Linux.
Many Node.js packages and frameworks are created with a *nix environment in mind and most Node.js apps are deployed on Linux, so developing on WSL ensures consistency between your development and production environments.
Set up on Windows Subsystem for Linux (Windows 10)
I use Windows Subsystem for Linux (WSL2) on Windows 10.
See @Jshanks21 walkthrough for installing WSL:
Set up on native Windows
Install nvm (Node Version Manager)
(Note: There are alternate ways to install node such as nodejs installer: https://nodejs.org/en/download/ )
Then install Git:
Install Windows Build Tools:
For an editor, I recommend VS Code:
Along with @juanfranblanco’s Solidity Extension:
The settings for use with OpenZeppelin are documented in the repository: https://github.com/juanfranblanco/vscode-solidity#openzeppelin
Note: This is a wiki post, please update/edit.