Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The following tips and control equivalents help you transition between a Mac and Windows (or WSL/Linux) development environment.
For app development, the nearest equivalent to Xcode is Visual Studio. For cross-platform source code editing (and a huge number of plug-ins), Visual Studio Code is the most popular choice.
Keyboard shortcuts
Tip
Use PowerToys Keyboard Manager to map Windows shortcuts to the shortcuts you use on a Mac.
| Operation | Mac | Windows |
|---|---|---|
| Copy | Command+C | Ctrl+C |
| Cut | Command+X | Ctrl+X |
| Paste | Command+V | Ctrl+V |
| Undo | Command+Z | Ctrl+Z |
| Save | Command+S | Ctrl+S |
| Open | Command+O | Ctrl+O |
| Lock computer | Command+Control+Q | WindowsKey+L |
| Show desktop | Command+F3 | WindowsKey+D |
| Open file browser | Command+N | WindowsKey+E |
| Minimize windows | Command+M | WindowsKey+M |
| Search | Command+Space | WindowsKey |
| Close active window | Command+W | Control+W |
| Switch current task | Command+Tab | Alt+Tab |
| Maximize a window to full screen | Control+Command+F | WindowsKey+Up |
| Save screen (Screenshot) | Command+Shift+3 | WindowsKey+Shift+S |
| Save window | Command+Shift+4 | WindowsKey+Shift+S |
| View item information or properties | Command+I | Alt+Enter |
| Select all items | Command+A | Ctrl+A |
| Select more than one item in a list (noncontiguous) | Command, then click each item | Control, then click each item |
| Type special characters | Option+ character key | Alt+ character key |
Trackpad shortcuts
Note
Some of these shortcuts require a "Precision Trackpad," such as the trackpad on Surface devices and some other third-party laptops.
You can configure trackpad options on both platforms.
| Operation | Mac | Windows |
|---|---|---|
| Scroll | Two finger vertical swipe | Two finger vertical swipe |
| Zoom | Two finger pinch in and out | Two finger pinch in and out |
| Swipe back and forward between views | Two finger sideways swipe | Two finger sideways swipe |
| Switch virtual workspaces | Four fingers sideways swipe | Four fingers sideways swipe |
| Display currently open apps | Four fingers upward swipe | Three fingers upward swipe |
| Switch between apps | N/A | Slow three finger sideways swipe |
| Go to desktop | Spread out four fingers | Three finger swipe downwards |
| Open Cortana / Action center | Two finger slide from right | Three finger tap |
| Open extra information | Three finger tap | N/A |
| Show launchpad / start an app | Pinch with four fingers | Tap with four fingers |
Command-line shells and terminals
Windows supports several command-line shells and terminals. These tools sometimes work a little differently from the Mac's BASH shell and terminal emulator apps like Terminal and iTerm.
Windows shells
Windows has two primary command-line shells:
PowerShell - PowerShell is a cross-platform task automation and configuration management framework. It consists of a command-line shell and scripting language built on .NET. With PowerShell, administrators, developers, and power-users can quickly control and automate tasks that manage complex processes and various aspects of the environment and operating system. PowerShell is fully open-source, and because it's cross-platform, it's also available for Mac and Linux.
Mac and Linux BASH shell users: PowerShell also supports many command aliases that you're already familiar with. For example:
- List the contents of the current directory with:
ls - Move files with:
mv - Move to a new directory with:
cd <path>
Some commands and arguments are different in PowerShell versus BASH. Learn more by entering:
get-helpin PowerShell or check out the compatibility aliases in the docs.To run PowerShell as an administrator, enter "PowerShell" in your Windows start menu, then select Run as Administrator.
- List the contents of the current directory with:
Windows Command Line (Cmd) - Windows still ships the traditional Command Prompt (and Console - see below), providing compatibility with current and legacy MS-DOS-compatible commands and batch files. Cmd is useful when running existing or older batch files or command-line operations. However, learn and use PowerShell since Cmd is now in maintenance and won't receive any improvements or new features in the future.
Linux shells
You can now install Windows Subsystem for Linux (WSL) to support running a Linux shell within Windows. This means that you can run bash, with whichever specific Linux distribution you choose, integrated right inside Windows. Using WSL provides the kind of environment most familiar to Mac users. For example, you use ls to list the files in a current directory, not dir as you would with the traditional Windows Cmd Shell. To learn about installing and using WSL, see the Windows Subsystem for Linux Installation Guide. Linux distributions that you can install on Windows with WSL include:
Just to name a few. Find more in the WSL install docs and install them directly from the Microsoft Store.
Windows terminals
In addition to many third-party offerings, Microsoft provides two terminals. These terminals are GUI applications that provide access to command-line shells and applications.
Windows Terminal: Windows Terminal is a new, modern, highly configurable command-line terminal application that provides very high performance, low-latency command-line user experience, multiple tabs, split window panes, custom themes and styles, multiple "profiles" for different shells or command-line apps, and considerable opportunities for you to configure and personalize many aspects of your command-line user experience.
You can use Windows Terminal to open tabs connected to PowerShell, WSL shells (like Ubuntu or Debian), the traditional Windows Command Prompt, or any other command-line app (for example, SSH, Azure CLI, Git Bash).
Console: On macOS and Linux, users usually start their preferred terminal application, which then creates and connects to the user's default shell (for example, BASH).
However, due to a quirk of history, Windows users traditionally start their shell, and Windows automatically starts and connects a GUI Console app.
While you can still launch shells directly and use the legacy Windows Console, it's highly recommended that you instead install and use Windows Terminal to experience the best, fastest, most productive command-line experience.
Apps and utilities
| App | macOS | Windows |
|---|---|---|
| Settings and Preferences | System Preferences | Settings |
| Task manager | Activity Monitor | Task Manager |
| Disk formatting | Disk Utility | Disk Management |
| Text editing | TextEdit | Notepad |
| Event viewing | Console | Event Viewer |
| Find files/apps | Command+Space | Windows key |
Windows developer