Windows Setup for SAP Development (All-in-One with Chocolatey)
In this video, I show you how to set up a complete SAP development environment on Windows using Chocolatey – fast, reproducible, and scriptable.
You’ll install all required tools like Cloud Foundry CLI, Node.js, Git, Neovim, VS Code, and more – plus all necessary SAP-related npm packages and plugins.
---
🔹 Chapters
00:00 Introduction
00:47 Install everything on Windows
01:20 Check the Versions
01:51 Preparing under Windows
02:13 Install Package Managers
02:38 Install Cloud Foundry CLI
02:49 Install node.js & make
03:00 Install git & Fuzzy Finder
03:17 Install NeoVim
03:44 Install Visual Studio Code
03:57 Install Google Chrome
04:08 Install Node Module: mbt
04:22 Install Node Module: CDS Dev-Kit & App Generator
04:40 Install Node Module: mta
04:51 Install Node Module: YeoMan (yo) & VSC Ext.
05:12 Summary
---
⚡ Quick Setup (Recommended)
1️⃣ Open Admin PowerShell and run:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
winget install chocolatey --source winget
---
2️⃣ Restart Admin PowerShell and install everything:
choco install cloudfoundry-cli nodejs make git.install fzf neovim vscode powershell-core GoogleChrome -y
---
3️⃣ Open a normal (non-admin) PowerShell and verify versions:
cf -v # required (e.g. 8.18.0)
node -v # required (e.g. 25.8.1)
git -v # required (e.g. 2.53.0)
fzf --version # required for scripts
nvim -v # optional
pwsh -v # recommended
If something is missing → install it individually.
---
📦 Install SAP Tools (npm + CF Plugin)
npm i -g mbt
npm i -g @sap/cds-dk
npm i -g @sap/generator-fiori
npm i -g mta
npm i -g [email protected] # optional (or newer)
cf install-plugin multiapps
---
✅ Verify Installation
mbt -v # required
cds -v # required
mta -v # required
yo --version # optional
cf plugins # multiapps plugin required
yo --generators # should list @sap/fiori and @sap/adp
---
🧩 Install VS Code Extensions
code --install-extension "sapse.sap-ux-application-modeler-extension"
code --install-extension "sapse.vscode-cds"
---
⚠️ Notes
On Windows VMs (especially on Apple Silicon Macs), installing tools via winget may cause issues (e.g. with mbt).
→ Chocolatey is recommended
You may need to enable script execution for npm:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
---
🔧 What You Get
After this setup, you have a fully working environment for:
SAP CAP (CDS)
SAP Fiori development
MTA builds & deployments
Cloud Foundry deployments
CLI-based workflows (yo, mbt, cf)
---
🔧 Git & Neovim Configuration (Recommended Setup)
---
🧑💻 Git Configuration
Create the following file:
Windows:
C:\Users\YOUR_USERNAME/.gitconfig
macOS/Linux:
~/.gitconfig
Paste this content and adjust your name/email:
[user]
name = Your Name
email = [[email protected]](mailto:[email protected])
[core]
editor = code
[status]
branch = true
showStash = true
showUntrackedFiles = all
[alias]
a = add --all
c = commit -m
st = status
s = status -s
l = log -graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white) %an%C(reset)%C(auto)%d%C(reset)'
[init]
defaultBranch = main
[remote]
pushDefault = origin
[push]
default = current
autoSetupRemote = true
followTags = true
[pull]
default = current
rebase = false
---
✏️ Neovim Configuration (Beginner Friendly)
Create the file:
Windows:
~\AppData\Local\nvim\init.lua
macOS/Linux:
~/.config/nvim/init.lua
(Optional: create it via PowerShell)
New-Item -ItemType File -Path ~\AppData\Local\nvim\init.lua -Force
Paste the following content:
-- ============================================
-- Neovim Configuration – Beginner Friendly
-- ============================================
-- Line numbers
vim.opt.number = true
vim.opt.relativenumber = true
-- Indentation
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.autoindent = true
-- UI / Display
vim.opt.wrap = false
vim.opt.cursorline = true
vim.opt.termguicolors = true
vim.opt.scrolloff = 8
vim.opt.signcolumn = "yes"
-- Search
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.hlsearch = true
vim.opt.incsearch = true
-- Behavior
vim.opt.mouse = "a"
vim.opt.clipboard = "unnamedplus"
vim.opt.backspace = "indent,eol,start"
vim.opt.splitright = true
vim.opt.splitbelow = true
-- Files
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undofile = true
vim.opt.encoding = "utf-8"
-- Status
vim.opt.showmode = true
vim.opt.ruler = true
---
✅ After this setup:
Git is ready with useful aliases
Neovim has a clean, modern beginner-friendly configuration
Works great for SAP, JavaScript, and general development
If this helped
Like 👍
Subscribe 🔔
Share with other SAP developers