Setting up your development environment on Windows

2026-03-14

post-thumb

Contents

If you’re starting to code and use Windows, this guide will set up your machine with everything you need for a professional development environment.

We’ll install, configure, and understand each tool: from the terminal to the code editor, from version control to the AI tools that will accelerate your learning.


Warp: the terminal

Warp is the most modern terminal available for Windows. Built in Rust, GPU-rendered, and with built-in artificial intelligence, it’s the equivalent (and many say superior) of iTerm2 on Mac.

Unlike the standard Windows Terminal, Warp organizes each command into navigable blocks, has smart autocomplete, AI-powered suggestions, and even lets you share terminal sessions with others.

Installation

  1. Go to warp.dev/download
  2. Download the Windows version
  3. Run the installer
  4. Create an account (you can use GitHub or Google): it’s free

If you prefer to install via terminal, open PowerShell and run:

winget install Warp.Warp

Initial setup

After installing and opening Warp:

  1. It already comes with a nice dark theme by default
  2. Go to Settings (gear icon) > Appearance to customize colors, font, and opacity
  3. Go to Settings > Features and explore the AI options

Tips for beginners

  • Command blocks: each command you run becomes a separate block. You can copy the entire output by clicking the copy icon
  • Built-in AI: press Ctrl + Space to ask for help in natural language. E.g.: “how do I list all .js files in this folder?”
  • Smart history: press Ctrl + R to search through history with fuzzy search

Git: version control

Git is the version control system every programmer uses. It’s how you save your code history and collaborate with others.

Installation

  1. Go to git-scm.com/downloads/win
  2. Download the installer (64-bit)
  3. Run the installer: on most screens, you can click Next with the default options
  4. Pay attention to two screens:
    • “Choosing the default editor”: select Visual Studio Code (instead of Vim)
    • “Adjusting the name of the initial branch”: select “Override” and type main

Initial setup

Open Warp (or PowerShell) and configure your name and email:

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

Check if it worked

git --version

You should see something like git version 2.47.1.windows.1.


Visual Studio Code (VSCode)

VSCode is the most used code editor in the world. It’s free, lightweight, and has thousands of extensions.

Installation

  1. Go to code.visualstudio.com
  2. Click the big download button for Windows
  3. Run the installer
  4. Check these options during installation:
    • Add to PATH
    • “Open with Code” in the file context menu
    • “Open with Code” in the directory context menu

Check if it worked

code --version

Open VSCode and press Ctrl + , (comma) to open Settings. Search for and enable:

SettingValue
Auto SaveafterDelay
Tab Size2
Format On Saveenabled
Word Wrapon

WSL 2 + Zsh + Oh My Zsh

WSL (Windows Subsystem for Linux) lets you run Linux inside Windows. With it, you get access to a real Linux terminal, with Zsh (a more powerful shell than Bash) and Oh My Zsh (which makes everything beautiful and productive).

Install WSL

Open PowerShell as Administrator (right-click the icon > “Run as administrator”) and run:

wsl --install

This installs WSL 2 with Ubuntu automatically. Restart your computer when prompted.

After restarting, Ubuntu will open automatically asking you to create a username and password. Choose something simple you’ll remember. The password doesn’t show while you type: this is normal in Linux.

After setting up WSL, go back to Warp and go to Settings > Features > Session to change the default shell to WSL / Ubuntu.

Install Zsh

With Ubuntu open in the terminal, run:

sudo apt update && sudo apt install zsh -y

Set Zsh as the default shell:

chsh -s $(which zsh)

Close and reopen the Ubuntu terminal.

Install Oh My Zsh

Oh My Zsh adds themes, smart autocomplete, and shortcuts to the terminal:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

When asked if you want to change the default shell to Zsh, answer Y (yes).

Useful plugins

These two plugins will greatly speed up your daily workflow.

zsh-autosuggestions: suggests commands as you type:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

zsh-syntax-highlighting: colors commands in the terminal:

git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Now activate the plugins by editing the configuration file:

vim ~/.zshrc

Find the line that says plugins=(git) and replace it with:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

Save with Ctrl + O, Enter, and exit with Ctrl + X. Then reload:

source ~/.zshrc

Powerlevel10k is the most popular and beautiful theme for Zsh.

First, install a Nerd Font (a font with special icons):

  1. Go to the Powerlevel10k repository and download the 4 MesloLGS NF fonts
  2. Extract and install the fonts (double-click each .ttf > Install)
  3. In Warp, go to Settings > Appearance > Font and select MesloLGS NF
  4. In VSCode, press Ctrl + ,, search for terminal font and enter MesloLGS NF

Now install the theme:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Edit ~/.zshrc:

vim ~/.zshrc

Find the line ZSH_THEME="robbyrussell" and change it to:

ZSH_THEME="powerlevel10k/powerlevel10k"

Save and reload:

source ~/.zshrc

The Powerlevel10k wizard will open automatically. Follow the prompts to customize the look of your terminal.

Configure VSCode to use WSL

  1. Open VSCode
  2. Install the WSL extension (search for “WSL” in extensions)
  3. Press Ctrl + Shift + P, type Terminal: Select Default Profile and select Ubuntu (WSL)

Now your VSCode integrated terminal will use Linux with Zsh. To open a WSL folder in VSCode, run in the Ubuntu terminal:

code .

Node.js (via nvm)

Node.js lets you run JavaScript outside the browser. nvm (Node Version Manager) lets you install and switch between Node versions easily.

Install Node inside WSL (Ubuntu), not on Windows. This avoids compatibility issues.

Install nvm

In the Ubuntu (WSL) terminal, run:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

Close and reopen the terminal, then verify:

nvm --version

Install Node.js

Install the LTS version (most stable) and version 22 (required by some tools):

nvm install --lts
nvm install 22

Set the LTS version as default:

nvm alias default lts/*

Check if it worked

node --version
npm --version

npm (Node Package Manager) comes bundled with Node. It’s what you use to install JavaScript libraries and tools: think of it as a parts store for programmers.


Essential VSCode extensions

Open VSCode and install these extensions (click the grid icon in the sidebar or press Ctrl + Shift + X).

For beginners

ExtensionWhat it does
WSLConnects VSCode to your Linux (WSL)
Live ServerOpens your HTML in the browser with auto-refresh
Prettier - Code FormatterFormats your code automatically
ESLintCatches errors in your JavaScript
Auto Rename TagRenames HTML tags automatically
Color HighlightShows the actual color of color codes (e.g., #ff0000 appears red)
Material Icon ThemeBeautiful icons for files

For when you level up

ExtensionWhat it does
GitLensShows who made each change in the code
Error LensShows errors directly on the code line
Path IntellisenseAutocompletes file paths
Thunder ClientTest APIs without leaving VSCode

Useful extras

Create a GitHub account

GitHub is where programmers store and share code. It’s like a Google Drive for code.

After creating your account, set up SSH authentication so you don’t have to type your password every time. In the Ubuntu (WSL) terminal:

ssh-keygen -t ed25519 -C "youremail@example.com"

Press Enter on all prompts (accept the defaults). Copy the public key:

cat ~/.ssh/id_ed25519.pub

Copy the text that appears. Go to GitHub > Settings > SSH Keys, click New SSH key, paste the key, and save.

Test the connection:

ssh -T git@github.com

You should see: Hi yourusername! You've successfully authenticated.

Configure Git in WSL

Inside Ubuntu (WSL), configure Git again: the Windows configuration doesn’t apply here:

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
git config --global init.defaultBranch main

Inside WSL, create a folder for your projects:

mkdir -p ~/projects
cd ~/projects

Golden rule: always work inside the Linux filesystem (~/...), never in /mnt/c/.... Working inside /mnt/c/ is significantly slower.


Claude Code: Anthropic’s AI in the terminal

Claude Code is an AI agent that runs directly in your terminal. It understands your project, edits files, runs commands, and helps you code as if it were a senior coworker.

Requirements

  • An Anthropic account with a Pro, Max, Teams, or Enterprise plan (the free plan doesn’t include Claude Code)
  • Git installed (you’ve already done this)

Installation on WSL/Ubuntu

curl -fsSL https://claude.ai/install.sh | bash

Verify the installation:

claude --version

Installation on PowerShell (if you prefer to use it outside WSL)

irm https://claude.ai/install.ps1 | iex

Claude Code on native Windows requires Git for Windows, which you’ve already installed.

First use

  1. Navigate to your project folder:
    cd ~/projects/my-project
    
  2. Run claude
  3. The browser will open for you to log in with your Anthropic account
  4. After authenticating, you return to the terminal and can start chatting

What you can do

  • Ask it to create files, functions, components
  • Ask about errors in your code
  • Ask it to explain code snippets
  • It reads and edits your files directly
  • It runs commands in the terminal for you (with your permission)

Practical example

> claude
> Create an HTML page with a button that changes the background color when clicked

Claude Code will create the necessary files for you.


Codex CLI: OpenAI’s AI in the terminal

Codex is OpenAI’s AI agent for the terminal. Like Claude Code, it can edit your files and run commands.

Requirements

  • An OpenAI account (ChatGPT Plus or API key)
  • Node.js 22+ (you’ve already installed it via nvm)

Installation on WSL/Ubuntu

Make sure you’re using Node 22:

nvm use 22

Install globally:

npm i -g @openai/codex

First use

  1. Navigate to your project folder:
    cd ~/projects/my-project
    
  2. Run codex
  3. The first time, it will ask you to authenticate with your OpenAI account

Differences between Claude Code and Codex

Claude CodeCodex
CompanyAnthropicOpenAI
ModelClaudeGPT / o3/o4-mini
InstallationStandalone installerVia npm
Requires NodeNoYes (22+)
PlanPro/Max/Teams/EnterpriseChatGPT Plus or API key

Both are excellent. Try them both and see which one you feel more comfortable with: many developers use both.


Final checklist

After following the entire tutorial, check that everything is working. Run these commands in the Ubuntu (WSL) terminal:

git --version          # Git installed
node --version         # Node.js installed
npm --version          # npm installed
nvm --version          # nvm installed
zsh --version          # Zsh installed
claude --version       # Claude Code installed
codex --version        # Codex installed
code --version         # VSCode accessible from terminal

If all of them return a version, your environment is 100% set up.


Visual stack summary

┌──────────────────────────────────────────────┐
│            Warp (AI-powered terminal)        │
│  ┌────────────────────────────────────────┐   │
│  │        Ubuntu (WSL 2)                  │   │
│  │  ┌──────────────────────────────────┐  │   │
│  │  │  Zsh + Oh My Zsh + P10k         │  │   │
│  │  │  ┌────────────┐ ┌─────────────┐ │  │   │
│  │  │  │  Node.js   │ │     Git     │ │  │   │
│  │  │  │  (nvm)     │ │             │ │  │   │
│  │  │  └────────────┘ └─────────────┘ │  │   │
│  │  │  ┌──────────────────────────────┐│  │   │
│  │  │  │  Claude Code  |  Codex CLI  ││  │   │
│  │  │  └──────────────────────────────┘│  │   │
│  │  └──────────────────────────────────┘  │   │
│  └────────────────────────────────────────┘   │
│                                               │
│  ┌────────────────────────────────────────┐   │
│  │  Visual Studio Code (with WSL ext.)   │   │
│  └────────────────────────────────────────┘   │
└───────────────────────────────────────────────┘

Next steps

Now that your environment is ready, you can:

  1. Continue your JavaScript studies: now with a professional terminal
  2. Practice Git: create a repository on GitHub and commit your exercises
  3. Explore Claude Code: ask it to explain parts of the code you didn’t understand
  4. Create your first project: start with something simple like a calculator or to-do list

Happy coding!