Guides
How to set up multiple monitors for programming on Windows
Programming involves a lot of looking back and forth: code, the running app, documentation, terminals, logs and chat. More screens mean less switching, but only if every window has a home and gets back there after a reboot, a docking session or a debugger run that throws windows around. This guide covers a practical monitor layout for development, keyboard control so your hands stay on the keyboard, and task-based layouts you restore with one key.
-
Pick a monitor layout that fits your work
A common setup is a large landscape screen in the center for the editor and IDE, a second screen for the browser or app you are building, and a portrait monitor for documentation, logs or code review. Rotate it under Settings, System, Display, Display orientation, and align it next to the others. If you have only one wide screen, a 34-inch ultrawide split into a wide center and two side columns gives a similar effect. Keep scaling similar so windows do not change size between screens.
-
Give each screen a zone layout
In WindowLayout, open Windows & Zones and choose a layout per monitor: Priority 25/50/25 on an ultrawide for file tree, editor and preview; Halves on the second screen for browser and dev tools; Three rows on the portrait monitor for terminal, logs and chat. Click Arrange windows now to drop the open windows into place. Ctrl+Alt+PageDown and PageUp step any window through the zones and on to the next monitor.
-
Drive windows from the keyboard
Ctrl+Alt+Right and Left move the active window to the next or previous monitor, Ctrl+Alt+Numpad keys snap to halves and quarters, and Ctrl+Alt+Enter maximizes. Bind Left two-thirds and Right third on the Hotkeys page for an editor and terminal side by side. Ctrl+Alt+T keeps a window always on top, handy for a small preview or a video call during pair programming. The command palette (Ctrl+Alt+Space) runs any action or profile by name, much like the one in your editor.
-
Save a layout per task
Arrange everything for coding and click Save current in Window Profiles, then do the same for code review, debugging or meetings. Restore each one with its own Hotkey. Editor and browser titles change with every file and tab, so the default Smart title rule matches the stable part, such as the app name at the end. For editors with several windows open, each saved entry is paired with one window, so three project windows go back to three different places.
-
Keep apps where you expect them
Switch on Remember app positions so tools you open and close all day, such as a database client or a diff viewer, reopen on the same monitor in the same spot. Add a trigger such as An app starts, Move app to monitor for a terminal or an emulator that always belongs on one screen. Put tools that position themselves, like game engines or emulators with their own window logic, in Never reposition.
-
Survive docking and sleep
Laptop developers dock and undock several times a day. Bind your main profile to the docked monitors with Bind to this monitor setup and Apply automatically when this setup connects, and turn on Restore windows after monitor changes, sleep and unlock. If you also change resolutions, for example for screen-sharing at a lower resolution, save display profiles and switch them from the tray. WindowLayout stores settings locally, and Export settings moves them to a second PC.
Frequently asked questions
Is a vertical monitor really useful for coding?
Many developers find it so, because they see about twice as many lines of code. It also suits documentation, logs and pull request diffs. Wide side-by-side diffs are better on a landscape screen.
Can I version my WindowLayout settings?
Settings can be exported to a file with Export settings and imported on another machine with Import settings. AI keys are kept in Windows Credential Manager and are never exported.
Does WindowLayout work with virtual desktops?
Window profiles work with the windows Windows reports as open. Restore while the virtual desktop you want is active for the most predictable result.