{"id":257481,"date":"2026-10-19T07:00:22","date_gmt":"2026-10-19T14:00:22","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=257481"},"modified":"2026-10-14T11:06:04","modified_gmt":"2026-10-14T18:06:04","slug":"organize-and-revisit-tabs-with-the-keyboard","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/organize-and-revisit-tabs-with-the-keyboard\/","title":{"rendered":"Organize and revisit tabs with the keyboard"},"content":{"rendered":"<p>When you&#8217;re moving between an implementation, its tests, and a related interface, the order of your open tabs can become a useful part of the task. But arranging that order and returning to a particular position shouldn&#8217;t require a mouse trip each time.<\/p>\n<p>Visual Studio 2026 version 18.11 adds keyboard commands for both jobs: move the active tab into position, then jump directly to a tab by its visual position. The connection is the tab order itself. You can arrange a small working set and navigate that arrangement from the keyboard.<\/p>\n<h2>Put the active tab where you want it<\/h2>\n<p>Use <kbd>Ctrl<\/kbd> + <kbd>Shift<\/kbd> + <kbd>PgUp<\/kbd> to move the active tab one position left, or <kbd>Ctrl<\/kbd> + <kbd>Shift<\/kbd> + <kbd>PgDn<\/kbd> to move it one position right.<\/p>\n<p>For example, move a test file next to its implementation before you start comparing them. The command moves the tab; it doesn&#8217;t switch to the neighboring document.<\/p>\n<p>If you use vertical tabs, the same shortcuts move the active tab up or down. They also work for tool windows hosted in the document well.<\/p>\n<p>The commands respect the organization you&#8217;ve already chosen:<\/p>\n<ul>\n<li>Pinned tabs stay in the pinned section, and unpinned tabs stay in theirs.<\/li>\n<li>A vertical tab stays within its project group.<\/li>\n<li>Alphabetical sorting prevents manual reordering.<\/li>\n<li>Preview tabs can&#8217;t be moved.<\/li>\n<\/ul>\n<p>The <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Keyboard-shortcut-for-moving-tabs\/1337230\">request for keyboard tab movement<\/a> makes a useful distinction between <em>moving<\/em> and <em>switching<\/em>. One commenter described pinning and unpinning tabs as a workaround for arranging them without the mouse. These commands address arrangement directly.<\/p>\n<h2>Return to a position directly<\/h2>\n<p>Use <kbd>Ctrl<\/kbd> + <kbd>NumPad1<\/kbd> through <kbd>Ctrl<\/kbd> + <kbd>NumPad9<\/kbd> to activate the corresponding visible document tab in the active document group.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/10\/document-tab-order.webp\" alt=\"Four document tabs arranged left to right in Visual Studio\" \/><\/p>\n<p>The mapping follows visual order, including pinned and unpinned tabs. Preview tabs don&#8217;t consume a slot. If you switch document groups, the shortcuts use the order in the newly active group.<\/p>\n<p>That makes these position shortcuts, not permanent assignments to filenames. Reordering a tab changes which document occupies that position. Arrange the files first, then use their positions while you work.<\/p>\n<h2 id=\"give-tool-window-tabs-the-space-they-need\">Give tool window tabs the space they need<\/h2>\n<p id=\"pragma-line-43\">Tab layout matters for tool windows, too. If you dock Error List and Package Manager Console in the same group, the shorter label no longer needs a tab as wide as the longer one. Tool window tabs now size individually rather than all taking the width of the longest label.<\/p>\n<p id=\"pragma-line-45\">The <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Docked-window-tabs-should-have-individua\/11010090\">request for individually sized tool window tabs<\/a> describes that wasted space directly. You can also set minimum and maximum tool window tab widths independently of document tabs in <strong>Tools &gt; Options &gt; All Settings &gt; Environment &gt; Tabs &gt; Tool Window Tabs<\/strong>.<\/p>\n<p id=\"pragma-line-47\">Document tabs, tool window tabs, and window headers now share a consistent 24-pixel height. When you arrange tabs with the mouse, the drop preview aligns more accurately with their destination. High-contrast fixes also keep tab borders from being clipped.<\/p>\n<h2>Keep your preferred bindings<\/h2>\n<p>You can find <strong>Window.MoveTabLeft<\/strong> and <strong>Window.MoveTabRight<\/strong> in <strong>Tools &gt; Options &gt; Environment &gt; Keyboard<\/strong> and assign other shortcuts. The numbered-tab commands also participate in keyboard customization.<\/p>\n<p>The new movement defaults replace the Text Editor bindings for <strong>Edit.ViewTopExtend<\/strong> and <strong>Edit.ViewBottomExtend<\/strong>. Those commands still exist, so reassign them if they&#8217;re part of your editing routine.<\/p>\n<p>For background on pinned tabs, preview tabs, and document groups, see <a href=\"https:\/\/learn.microsoft.com\/visualstudio\/ide\/customizing-window-layouts-in-visual-studio?view=visualstudio\">Customize window layouts and personalize tabs<\/a>. Those existing layout choices still determine the structure these commands work within.<\/p>\n<p>Start with two or three documents from your current task. Put them in a useful order, then try returning to them by position instead of cycling through every open tab.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Reorder your document tabs and return to them by visual position with new keyboard shortcuts.<\/p>\n","protected":false},"author":642,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[],"class_list":["post-257481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio"],"acf":[],"blog_post_summary":"<p>Reorder your document tabs and return to them by visual position with new keyboard shortcuts.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/257481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/642"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=257481"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/257481\/revisions"}],"predecessor-version":[{"id":257509,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/257481\/revisions\/257509"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=257481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=257481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=257481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}