|
1 | 1 | --- |
2 | | -title: Setup a development environment on Windows |
3 | | -description: A guide to help you setup your development environment on Windows and install your preferred tools and code languages. |
4 | | -ms.topic: install-set-up-deploy |
5 | | -ms.subservice: windows-nodejs |
6 | | -ms.date: 01/07/2025 |
| 2 | +title: Windows developer tools |
| 3 | +description: Windows includes a suite of tools designed specifically for developers — from a built-in package manager to a Linux subsystem, optimized storage, and more. |
| 4 | +ms.topic: overview |
| 5 | +ms.subservice: windows-dev-environment |
| 6 | +ms.date: 03/25/2026 |
7 | 7 | --- |
8 | 8 |
|
9 | | -# Development environment on Windows |
| 9 | +# Windows developer tools |
10 | 10 |
|
11 | | -Windows invites you to code as you are. Use whatever coding language or framework you prefer - whether developing with tools on Windows or with Linux tools on the Windows Subsystem for Linux, this guide will help you get set up and install what you need to start coding, debugging, and accessing services to put your work into production. |
| 11 | +Windows includes a suite of tools built specifically for developers. Whether you're building apps, working across stacks, or optimizing your workflow, these tools are designed to make Windows a great place to develop. |
12 | 12 |
|
13 | | -## Tools to get you started |
| 13 | +## Windows-native developer tools |
| 14 | + |
| 15 | +These tools are built into or designed specifically for Windows. |
14 | 16 |
|
15 | 17 | :::row::: |
16 | 18 | :::column::: |
17 | | - [](/windows/terminal/)<br> |
18 | | - **[Windows Terminal](/windows/terminal/)**<br> |
19 | | - Customize your terminal environment to work with multiple command line shells. |
| 19 | + [](/windows/wsl/)<br> |
| 20 | + **[Windows Subsystem for Linux](/windows/wsl/)**<br> |
| 21 | + Run Linux distributions natively on Windows — fully integrated with the Windows file system and tools. |
20 | 22 | :::column-end::: |
21 | 23 | :::column::: |
22 | | - [](../package-manager/index.md)<br> |
23 | | - **[WinGet](../package-manager/index.md)**<br> |
24 | | - Install and configure packages through command-line or declarative manifests. |
| 24 | + [](/windows/dev-drive)<br> |
| 25 | + **[Dev Drive](/windows/dev-drive/)**<br> |
| 26 | + A ReFS-based storage volume optimized for build performance and package cache trust. |
25 | 27 | :::column-end::: |
26 | 28 | :::column::: |
27 | | - [](/windows/wsl/)<br> |
28 | | - **[Windows Subsystem for Linux](/windows/wsl/)**<br> |
29 | | - Run your favorite Linux distribution fully integrated with Windows. |
| 29 | + [](../package-manager/)<br> |
| 30 | + **[WinGet](../package-manager/)**<br> |
| 31 | + Install, configure, and automate software setup from the command line or declarative configuration files. |
30 | 32 | :::column-end::: |
31 | 33 | :::row-end::: |
32 | 34 |
|
33 | 35 | :::row::: |
34 | 36 | :::column::: |
35 | | - [](../powertoys/index.md)<br> |
36 | | - **[Microsoft PowerToys](../powertoys/index.md)**<br> |
37 | | - A set of power user utilities to tune and streamline your Windows experience. |
| 37 | + [](/windows/terminal/)<br> |
| 38 | + **[Windows Terminal](/windows/terminal/)**<br> |
| 39 | + A modern terminal with tabs, panes, Unicode support, and full customization for any shell. |
38 | 40 | :::column-end::: |
39 | 41 | :::column::: |
40 | | - [](/windows/dev-drive)<br> |
41 | | - **[Dev Drive](/windows/dev-drive/)**<br> |
42 | | - A storage volume optimized for performance in developer scenarios. |
| 42 | + [](/windows/sudo/)<br> |
| 43 | + **[Sudo for Windows](/windows/sudo/)**<br> |
| 44 | + Run elevated commands directly from an unelevated console session — no UAC prompt required. |
43 | 45 | :::column-end::: |
44 | 46 | :::column::: |
45 | | - [](/windows/sudo/)<br> |
46 | | - **[Sudo for Windows](/windows/sudo/)**<br> |
47 | | - Run elevated commands directly from an unelevated console session. |
| 47 | + [](../powertoys/)<br> |
| 48 | + **[Microsoft PowerToys](../powertoys/)**<br> |
| 49 | + Power user utilities for developers and advanced users: file tools, keyboard remapping, and more. |
48 | 50 | :::column-end::: |
49 | 51 | :::row-end::: |
50 | | -<br> |
51 | 52 |
|
52 | 53 | --- |
53 | 54 |
|
54 | | -Watch the Windows developer tools overview from Microsoft Ignite to see these tools in action. |
55 | | -<br><br> |
| 55 | +## Build for Windows |
56 | 56 |
|
57 | | -<iframe width="600" height="338" src="https://www.youtube.com/embed/mJQxAKYkCBk?si=y6-YTNGHkuDpFzZn" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> |
58 | | - |
59 | | ---- |
60 | | -## Development paths |
61 | | - |
62 | | -Follow these guides to set up your Windows development environment for your preferred language or framework. |
| 57 | +Resources for developing apps and experiences that run on Windows. |
63 | 58 |
|
64 | 59 | :::row::: |
65 | 60 | :::column::: |
66 | | - [](./javascript/index.md)<br> |
67 | | - **[Get started with JavaScript](./javascript/index.md)**<br> |
68 | | - Set up your JavaScript development environment with Node.js, React, Vue, and more. |
| 61 | + [](../apps/index.yml)<br> |
| 62 | + **[Windows App SDK and WinUI](../apps/index.yml)**<br> |
| 63 | + Build modern desktop apps with the latest Windows UI framework. |
69 | 64 | :::column-end::: |
70 | 65 | :::column::: |
71 | | - [](./python.md)<br> |
72 | | - **[Get started with Python](./python.md)**<br> |
73 | | - Install Python and set up your development environment on Windows. |
| 66 | + [](/gaming/)<br> |
| 67 | + **[Game development on Windows](/gaming/)**<br> |
| 68 | + Build games using DirectX, Xbox Game Development Kit, and Microsoft's game tools. |
74 | 69 | :::column-end::: |
75 | 70 | :::column::: |
76 | | - [](/cpp/)<br> |
77 | | - **[Get started with C++ and C](/cpp/)**<br> |
78 | | - Develop apps, services, and tools with C++, C, and assembly. |
| 71 | + [](/windows/arm/overview)<br> |
| 72 | + **[Windows on Arm](/windows/arm/overview)**<br> |
| 73 | + Develop and optimize apps for Arm64 devices, including Copilot+ PCs. |
79 | 74 | :::column-end::: |
80 | 75 | :::row-end::: |
81 | 76 |
|
82 | 77 | :::row::: |
83 | 78 | :::column::: |
84 | | - [](/dotnet/csharp/)<br> |
85 | | - **[Get started with C#](/dotnet/csharp/)**<br> |
86 | | - Build apps using C# and .NET. |
| 79 | + [](/windows/ai/)<br> |
| 80 | + **[Windows AI](/windows/ai/)**<br> |
| 81 | + Add local AI capabilities to your app using Windows AI APIs, Phi Silica, and more — no cloud required. |
87 | 82 | :::column-end::: |
88 | 83 | :::column::: |
89 | | - [](./rust/index.yml)<br> |
90 | | - **[Get started with Rust](./rust/index.yml)**<br> |
91 | | - Get started programming with Rust, including how to set up Rust for Windows. |
92 | 84 | :::column-end::: |
93 | 85 | :::column::: |
94 | | - [](/powershell/)<br> |
95 | | - **[Get started with PowerShell](/powershell/)**<br> |
96 | | - Cross-platform task automation and configuration management using PowerShell. |
97 | | - :::column-end::: |
98 | | -:::row-end::: |
99 | | - |
100 | | -:::row::: |
101 | | - :::column::: |
102 | | - [](../dev-environment/docker/overview.md)<br> |
103 | | - **[Get started with Docker](../dev-environment/docker/overview.md)**<br> |
104 | | - Create remote development containers with support from VS, VS Code, .NET, and WSL. |
105 | | - :::column-end::: |
106 | | - :::column::: |
107 | | - [](../apps/index.yml)<br> |
108 | | - **[Get started building Windows apps](../apps/index.yml)**<br> |
109 | | - Build desktop apps with WinUI and the Windows App SDK. |
110 | | - :::column-end::: |
111 | | - :::column::: |
112 | | - [](/gaming/)<br> |
113 | | - **[Get started with Game Development](/gaming/)**<br> |
114 | | - Build games for Windows using Microsoft's game development tools and services. |
115 | 86 | :::column-end::: |
116 | 87 | :::row-end::: |
117 | 88 |
|
118 | 89 | --- |
119 | 90 |
|
| 91 | +## Language and framework setup |
| 92 | + |
| 93 | +These guides cover Windows-specific setup considerations for common development scenarios. |
120 | 94 |
|
121 | | -## Transitioning between Mac and Windows |
| 95 | +- [Get started with JavaScript / Node.js on Windows](./javascript/index.md) |
| 96 | +- [Get started with Python on Windows](./python.md) |
| 97 | +- [Get started with Rust on Windows](./rust/index.yml) |
| 98 | +- [Get started with Docker on Windows](./docker/overview.md) |
| 99 | +- [Transitioning from Mac to Windows](./mac-to-windows.md) |
122 | 100 |
|
123 | | -Check out our [guide to transitioning between a Mac and Windows](./mac-to-windows.md) (or Windows Subsystem for Linux) development environment. |
124 | 101 |
|
0 commit comments