Есть ли в Visual Studio функция быстрой смены вкладок?

326

Текущая функция предоставления мне выпадающего меню, какую вкладку выбрать, просто раздражает. Есть ли возможность удалить его, чтобы вкладки работали как в каком-то современном веб-браузере.

yodalr
источник
8
Я не могу не подчеркнуть, насколько это раздражает. С VSCode, а также другими редакторами.
Кай Ноак

Ответы:

588

По умолчанию Ctrl+ Tabв Visual Studio Code циклически переключает вкладки в порядке их последнего использования. Это сбивает с толку, потому что это зависит от скрытого состояния.

Веб-браузеры переключаются между вкладками в видимом порядке. Это гораздо более интуитивно понятно.

Чтобы добиться этого в Visual Studio Code, вы должны отредактировать keybindings.json. Используйте Палитру команд с CTRL+SHIFT+P, введите «Предпочтения: Открыть сочетания клавиш (JSON)» и нажмите Enter.

Затем добавьте в конец файла:

[
    // ...
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditor"
    }
]

В качестве альтернативы, чтобы прокручивать только вкладки текущего окна / разделенного вида, вы можете использовать:

[
    {
        "key": "ctrl+tab",
        "command": "workbench.action.nextEditorInGroup"
    },
    {
        "key": "ctrl+shift+tab",
        "command": "workbench.action.previousEditorInGroup"
    }
]

Кроме того, вы можете использовать Ctrl+ PageDown(Windows) или Cmd+ Option+ Right(Mac).

SC_Chupacabra
источник
3
На самом деле это не имитирует выпадающее поведение. С помощью этих сочетаний клавиш вы просто перемещаетесь по вкладкам вправо ( ctrl+tab) или влево ( ctrl+shift+tab). Для перемещения вкладок на основе истории использования их: { "key": "ctrl+tab", "command": "workbench.action.openPreviousRecentlyUsedEditor" }, { "key": "ctrl+shift+tab", "command": "workbench.action.openNextRecentlyUsedEditor" }.
Четверг
1
@GabrielZiegler Я знаю, верно. Firefox также использует этот режим вкладок.
Пермана
1
@evenfrost ОП не хочет ориентироваться на основе истории, поэтому этот ответ хороший.
Стивен Мариано Кабрера
4
А кто не предоставляет возможность изменить поведение этой вкладки, вместо этого нужно отредактировать файл привязок клавиш ?!
Кай Ноак
2
Люди, которые хотят видеть нас, страдают, вот кто.
Франс
194

@Combii я нашел способ поменяться

CMD + 1 , CMD + 2 , CMD + 3 с CTRL + 1 , CTRL + 2 , CTRL + 3 , ...

В macOS перейдите по ссылке:

Код> Настройки> Сочетания клавиш

На этой странице нажмите кнопку в правом верхнем углу страницы ...

кнопка редактировать keybindings.json

и добавьте конфигурацию ниже, затем сохраните.

[
    {
        "key": "cmd+0",
        "command": "workbench.action.openLastEditorInGroup"
    },
    {
        "key": "cmd+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "cmd+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "cmd+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "cmd+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "cmd+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "cmd+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "cmd+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "cmd+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "cmd+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]

Теперь вы можете использовать CMD + [1-9] для переключения между вкладками и CTRL + [1-3] для фокусирования групп редактора! Надеюсь, что этот ответ полезен.

июань лв
источник
4
alt + n делает это уже на Windows, я уверен, что есть эквивалент Mac
Доминик
12
на Mac эквивалент это control + n. Я считаю, что это не интуитивно понятно, так как большинство программ по умолчанию использует cmd + n для навигации по вкладкам. Переключение между двумя режимами поведения означает, что вы можете положиться на мышечную память при попытке навигации по своим вкладкам.
Langlois.dev
Я думаю, что на Mac они просто переносят настройки Windows с изменением команды для управления некоторыми функциями (например, переключателем) и не переносят другие (например, открывают и закрывают вкладку терминала). Это очень неудобно.
alanwsx
6
Кроме того, для новейшей версии (апрель 2009 г.) вы можете просто найти эти элементы ( workbench.action.openEditorAtIndex1) и изменить их. Не нужно идти keybindings.json.
alanwsx
3
Начиная с версии 1.38.1 (для OSX), это устарело. В соответствии с документацией перейдите по ссылке Preferences > Keyboard Shortcutsи затем щелкните значок справа от строки заголовка редактора. Это откроется keybindings.json.
Adam_G
51

Windows

При использовании кода Visual Studio в Windows вы можете CTRL + PAGE_UPпереключаться на предыдущую вкладку и CTRL + PAGE_DNпереходить на следующую вкладку.

У вас также есть возможность переключаться на вкладки, основываясь на их (ненулевом относительном) индексе. Вы можете сделать это, нажав и удерживая ALT, а затем номер (от 1 до 9).

Macos

Для быстрой навигации между вкладками нажмите и удерживайте CMDклавишу, а затем номер (от 1 до 9) вкладки, на которую вы хотите переключиться.

У вас также есть возможность переключаться между предыдущей / следующей вкладкой с помощью CMD + ALT + LEFT/RIGHTсочетания клавиш.

Обратите внимание, что для переключения на вкладку, которая находится в другой группе редакторов, необходимо сначала переключиться на нужную группу редакторов.

Совет для профессионалов : если вам не нравится какое-либо из назначений клавиш, вы можете поменять их так, как вам удобно!

Бринден Билефельд
источник
2
CTRL + ALT + ВЛЕВО / ВПРАВО и CTRL + число копируют только вкладки в новую группу вкладок
yodalr
Инструкции были ясны и раньше, на WINDOWS просто не работает. Когда я нажимаю ctrl + alt + left - ничего не происходит, а когда я нажимаю ctrl + alt + right, он перемещает вкладку в разделы дополнительных вкладок справа.
Йодалр
2
@yodalr, в Windows, чтобы переключаться между вкладками, вы нажимаете либо, CTRL + PAGE_UPлибо CTRL + PAGE_DN, в зависимости от того, каким образом вы хотите переключаться. CTRL + ALT + LEFTи CTRL + ALT + RIGHTэто не сочетание клавиш , которые я перечислил для Windows.
Бринден Билефельд
6
Хм, похоже, не работает, как описано. На Mac Cmd + Num переключается между группами вкладок (разделенные окна). Я хочу сделать это для вкладок в пределах одной группы. Смогу ли я сделать это?
Хагги
@huggie Я наблюдаю такое же поведение на OSX. Вы нашли способ переназначить это?
Префикс
35

Если вы используете VSCodeVimрасширение, вы можете использовать сочетания клавиш Vim :

Следующая вкладка: gt

Предыдущая вкладка: gT

Нумерованная вкладка: nnngt

Gabra
источник
31

Это также работает на MAC OS :

Предыдущая вкладка: Shift+ Cmd+[

Следующая вкладка: Shift+ Cmd+]

yestema
источник
24

macOS - новая редакция 2017 года

В 2017 году сочетания клавиш VS CODE были изменены на CTRL+ 1, CTRL+ 2, CTRL+ и т. 3Д. Для переключения между вкладками.

CMD+1, CMD+2, and CMD+3 переключаться между и создавать tab groups

Алекс Смит
источник
11
Можно ли заменить его CMD+1, CMD+2, and CMD+3вместо CTRL+1, CTRL+2, CTRL+3?
Дэвид
А также CMD + ALT + LEFT/RIGHTпросто переключать все вкладки во всех группах.
Давос,
10

Windows

предыдущий

Ctrl+ Shift+Tab

следующий

Ctrl + Tab

Mac OS

предыдущий

Shift+ Cmd+[

следующий

Shift + Cmd +]

Синий
источник
Ваш ответ должен быть на вершине
посторонний
5

Лучше Approch является использование Alt + правая и альт + левая клавиши для навигации , как JetBrains IDE WebStorm делает

Вот мой конфиг. это также включает создание нового файла и папки

    {
        "key": "ctrl+n",
        "command": "explorer.newFile"
    },
    {
        "key": "ctrl+shift+n",
        "command": "explorer.newFolder"
    },
    { 
        "key": "alt+left",
        "command": "workbench.action.previousEditor" 
    },
    { 
        "key": "alt+right",
        "command": "workbench.action.nextEditor" 
    }
Пиюш Патель
источник
1
Переопределение alt + right / left предотвращает использование по умолчанию полезного поведения редактора для перехода к предыдущему / следующему слову.
Карни
3

для Linux ... я использую Ctrl + pageUp или pageDown

jmsalcido
источник
3

Visual Studio Code v1.35.0 позволяет установить последовательности клавиш ( Ctrl+ Tab) / ( Shift+ Ctrl+ Tab) для последовательного переключения между редакторами, привязав эти последовательности клавиш к командам «Вид: Открыть следующий редактор» и «Вид: Открыть предыдущий редактор» соответственно ,

На macOS:

  1. Перейдите к: Код> Настройки> Сочетания клавиш
  2. Найдите или перейдите к следующим двум параметрам:
    • Вид: открыть следующий редактор
    • Вид: Открыть предыдущий редактор
  3. Измените обе комбинации клавиш на желаемую последовательность клавиш.
    • Вид: Открыть следующий редактор -> ( Ctrl+ Tab)
    • Вид: Открыть предыдущий редактор -> ( Shift+ Ctrl+ Tab)
  4. Скорее всего, вы столкнетесь с конфликтующей связью. Если это так, запишите команду и переназначьте или удалите существующую привязку ключа.

Если вы запутались, вы всегда можете вернуться к состоянию по умолчанию для данной привязки, щелкнув правой кнопкой мыши на любой привязке клавиш и выбрав «Сброс привязки клавиш».

m0nsoon
источник
1
Спасибо, чувак, я просматривал весь интернет для этого!
Pall Arpad
2

Это также работает на MAC OS :

Нажмите для выбора конкретной вкладки: Control+ 1 или Control2, Control3 и т. Д.

Нажмите для показа / выбора всех возможных вкладок: Control+ Tab.

mdiiorio
источник
2

Карта ключей Linux для соответствия браузеру:

[
    {
        "key": "ctrl+0",
        "command": "workbench.action.lastEditorInGroup"
    },
    {
        "key": "ctrl+1",
        "command": "workbench.action.openEditorAtIndex1"
    },
    {
        "key": "ctrl+2",
        "command": "workbench.action.openEditorAtIndex2"
    },
    {
        "key": "ctrl+3",
        "command": "workbench.action.openEditorAtIndex3"
    },
    {
        "key": "ctrl+4",
        "command": "workbench.action.openEditorAtIndex4"
    },
    {
        "key": "ctrl+5",
        "command": "workbench.action.openEditorAtIndex5"
    },
    {
        "key": "ctrl+6",
        "command": "workbench.action.openEditorAtIndex6"
    },
    {
        "key": "ctrl+7",
        "command": "workbench.action.openEditorAtIndex7"
    },
    {
        "key": "ctrl+8",
        "command": "workbench.action.openEditorAtIndex8"
    },
    {
        "key": "ctrl+9",
        "command": "workbench.action.openEditorAtIndex9"
    },
    {
        "key": "alt+1",
        "command": "workbench.action.focusFirstEditorGroup"
    },
    {
        "key": "alt+2",
        "command": "workbench.action.focusSecondEditorGroup"
    },
    {
        "key": "alt+3",
        "command": "workbench.action.focusThirdEditorGroup"
    }
]
hugomosh
источник
1

Еще один способ быстрой смены вкладок - VSCode 1.45 (апрель 2020 г.).

Переключайте вкладки с помощью колесика мыши

Когда вы используете колесо мыши для прокрутки вкладок редактора, вы в настоящее время не можете переключиться на вкладку, а только показывает вкладки, которые не видны.

Теперь с новой настройкой workbench.editor.scrollToSwitchTabsэто поведение можно изменить, если вы измените его на true.

https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_45/scroll-tabs.gif

Примечание: вы также можете нажать и удерживать Shiftклавишу во время прокрутки, чтобы получить противоположное поведение (то есть вы можете переключаться на вкладки, даже если этот параметр отключен).

VonC
источник
0

При использовании кода Visual Studio в Linux / Windows вы можете использовать CTRL + PAGE_UP, чтобы переключиться на предыдущую вкладку, и CTRL + PAGE_DN, чтобы перейти на следующую вкладку. У вас также есть возможность переключаться на вкладки на основе их (ненулевого относительного) индекса. Вы можете сделать это, нажав и удерживая клавишу ALT, а затем номер (от 1 до 9).

Для более подробной информации: проверьте здесь

Шив Кумар Сингх
источник
0

Используйте Sublime Text Keymaps. Намного более интуитивно.

km

Импорт Sublime Text Keymaps:

Name: Sublime Text Keymap and Settings Importer
Id: ms-vscode.sublime-keybindings
Description: Import Sublime Text settings and keybindings into VS Code.
Version: 4.0.3
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings
Relik
источник
0

@SC_Chupacabra имеет правильный ответ для изменения поведения.

Я вообще предпочитаю CTRL+ PAGE UP / DOWNдля моей навигации, а не с помощью клавиши TAB.

    {
        "key": "ctrl+pageUp",
        "command": "workbench.action.nextEditor"
    },
    {
        "key": "ctrl+pageDown",
        "command": "workbench.action.previousEditor"
    }
openwonk
источник
0

Я не смог найти сообщение для VS Community, поэтому я опубликую свое решение здесь.


Сначала вам нужно перейти в Сервис -> Параметры -> Среда -> Клавиатура, а затем найти команду Window.NextTab. В нижней части должно быть написано «Использовать новый ярлык в:». Установите значение Global (должно быть по умолчанию), затем выберите текстовое поле справа и нажмите Ctrl+ Tab. Удалите все текущие ярлыки для выбранной команды и нажмите Назначить. Для Ctrl+ Shift+ Tab, команда должна быть Window.PreviousTab.

Надеюсь, это поможет :) Если для VS Community есть отдельный пост, я бы с удовольствием перенес этот пост.

supsm
источник