Клавиша вкладки кода Visual Studio не вставляет вкладку


333

Я использую Visual Studio Code в качестве редактора для Unity. Я сделал поиск в Google, но не смог найти ничего о моей проблеме.

Вопрос простой, нажатие ⇥ Tabв редакторе ничего не дает. Я ожидаю, чтобы вставить 4 пробела.

Кто-нибудь знает, что я могу сделать, чтобы ⇥ Tabработать как ожидалось?


это происходит снова у инсайдеров ...
Брюс Ли

8
У меня была проблема, когда вкладка будет просто вкладка за пределами редактора (переход между элементами пользовательского интерфейса). Перезапуск редактора исправил это.
Rivenfall

Не отвечает на операционные вопросы, но для всех, кто приземлился здесь после поиска «вкладка Visual Studio не работает» или возникла проблема при нажатии на вкладку «Tab» в Visual Studio, вместо добавления отступа выбирается блок Вы можете обратиться к этому ответу по Карелу Тамайо
Джастин Lessard

Остается проблема в Code v1.45.1 от июня 2020 года. Решение состоит в том, чтобы удалить Toggle Tab Key Moves Focusпривязку клавиш Ctrl + M(см. Ответ @Addison). Странная «фича».
AlainD

Ответы:


949

Я случайно включил другой режим для клавиши табуляции. Исправил это нажатием Ctrl+ M.

Из документов привязки кода Visual Studio :

| Key      | Command                                 | Command id                       |
| Ctrl + M | Toggle Use of Tab Key for Setting Focus | editor.action.toggleTabFocusMode |

Текущий режим управления вкладками также должен отображаться в строке состояния:

введите описание изображения здесь


28
Произошло со мной, когда я попытался использовать код collapse ( Ctrl + M, Ctrl + O). Спасибо.
интересно-имя-здесь

3
Что такое Setting Focus ?
madhu131313

9
В строке состояния внизу находится ярко-зеленая вкладка «Перемещение фокуса», если вы по ошибке нажали Ctrl + M.
Яннунен

3
@Jannunen вы правы, к сожалению для нас, у которых 25-дюймовые экраны, никто не заметит эту крошечную штуку в углу ...
strwoc

3
но почему хотя?
19

116

Чтобы исправить проблему

Нажатие ctrl+ M заставляет ⇥ Tab клавишу перемещать фокус вместо вставки ⇥ Tab символа.
Выключите его, нажав ярлык еще раз.

Чтобы отключить ярлык

  1. Откройте «Сочетания клавиш» с помощью ctrl+ K, затем ctrl+ S.
    Или зайдите в Файл> Настройки> Сочетания клавиш .
  2. Ищите toggle tab key moves focus.
  3. Правый клик Remove Keybinding.

3
Спасибо тебе за это! Я использую ctrl + m-> ctrl + k->, ctrl + 0чтобы свернуть код, и почти ежедневно я случайно
ломаю

Спасибо человек, это действительно работает. Я забыл, что я нажал Ctrl + mклавиши.
iFart

Я только что установил MSVS 2019. Я не вижу Настройки на вкладке Файл. Ctrl-K, Ctrl-S открывает список фрагментов. Я не вижу опцию «переключить фокусировку с помощью клавиши табуляции. Какую версию MSVS вы используете?
riderBill

1
@riderBill - это для последней версии VS Code 1.39.2 (2019-10-15). Вы используете Microsoft Visual Studio , которую не следует путать с кодом Visual Studio .
Аддисон

Ой. <: ^ | Моя ошибка. Но не (полностью) по моей вине. Я умоляю: «Microsoft является лидером в области плохого выбора для наименования новых продуктов». Как и Google. Вы когда-нибудь пытались найти помощь в сообщениях Google? [Вздох]
riderBill

70

Нажмите на проводнике или любом другом окне, которое не является редактором, затем нажмите Ctrl+ M, это команда «Toggle Tab Key Moves Focus» на сочетаниях клавиш.


2
Есть ли способ отключить эту «функцию»?
Александр Райан Баггетт

1
@AlexanderRyanBaggett просто удалите привязку клавиш
Lamelas84


12

По состоянию на декабрь 2018 года в macOS Mojave 10.14.2 с использованием VSCode 1.29.1 для клавиши «Toggle Tab Key Moves Focus» установлено значение по умолчанию Command+Shift+M. Если вы застряли с этим, использование этой комбинации клавиш должно решить проблему.

Есть Command+K Command+Sподтянуть настройки горячих клавиш и затем искать Toggle Tab Key Moves Focusили editor.action.toggleTabFocusModeесли вы хотите изменить комбинацию клавиш.


1
В Windows это просто Ctrl+Mпо умолчанию Toggle Tab Key Moves Focus. И Дэн, это немного гиперболично, учитывая, что по умолчанию в Visual Studio форматирование документа по умолчанию - Ctrl + K, Ctrl + D - visualstudioshortcuts.com/2017
KymikoLoco

4

Я использую код на xfce - сделал следующее, чтобы исправить поведение клавиши Tab:

Файл -> Настройки -> Настройки

поиск "клавиатура.диспетчер"

скопируйте на правую панель и измените значение с «code» на «keyCode»

Обновить код


2

Может быть, мешает другая программа? Закрытие Teamviewer устранило проблему для меня.


Мне то же!!! Я никогда не открывал TeamViewer и случайно оставил его открытым. Чтобы добавить больше информации: у меня был запущен другой экземпляр VS Code, и в нем вкладка работала нормально, в то время как на другой вкладке не работал. После закрытия TeamViewer вкладка работает в обоих случаях!
Милош Станич

2

[Изменить] Этот ответ для MSVS (IDE, в отличие от кода VS ). Кажется, Microsoft и Google стараются изо всех сил выбирать непонятные названия для новых продуктов. Я оставлю этот ответ здесь пока, пока я продолжаю искать эквивалентный вопрос о стековом потоке для MSVS . Дайте мне знать в комментариях, если вы думаете, что я должен удалить его. Или, лучше, укажите мне версию этого вопроса для MSVS .

Я недавно установил MSVS 2017. Ни одно из предложений, которые я видел, не устранило проблему. Решение, которое я нашел, работает для MSVS 2015 и 2017. Добавьте комментарий ниже, если вы обнаружите, что оно работает для других версий.

В разделе «Инструменты» -> «Параметры» -> «Текстовый редактор» -> «C / C ++» -> «Форматирование» -> «Общие» попробуйте снять флажок «Автоматически создавать отступ при вводе вкладки». Это кажется нелогичным, но это решило проблему для меня. введите описание изображения здесь


Большое спасибо за это исправление. Это действительно раздражает, когда часть программного обеспечения начинает считать себя умнее пользователя - особенно, когда пользователь должен быть таким.
hidefromkgb

Добро пожаловать! В какой версии MSVS у вас работает это решение?
riderBill

1

Убедитесь, что это НЕ проверено:

[] Инструменты | Варианты | Текстовый редактор | C / C ++ | Форматирование | Автоматический отступ на вкладке

Дайте мне знать, если это помогло!


Это связано с Visual Studio? Вопрос задан для VS Code, я думаю.
Таха Паксу

1

Для тех из вас, кто не о той пробел жизни (- _ -) (- _ -)

  1. Связывание клавиш для ⇥ Tab ничего не установлено, поэтому вы должны сделать это вручную

  2. Перейдите в Предпочтения / Среда / Сочетания клавиш и найдите « вкладку »

  3. Нажмите на Изменить привязку внизу и нажмите клавишу табуляции.

  4. Нажмите « Применить », затем « ОК »

  5. Ключ связан!


1

Все вышеперечисленное не удалось для меня. Но я заметил, что shift + ⇥ Tab сработал, как и ожидалось (опередив линию).

Поэтому я искал ярлык «Indent Line» (который был назначен на alt+ ctrl + cmd + 0), назначил его на вкладку, и теперь я снова счастлив.


Следующее утро редактировать ...

Я также использую вкладку, чтобы принимать предложения фрагментов, поэтому я установил для параметра «когда» строки «Отступ» значение editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible.


1
да, ничего выше или ниже работало .. спасибо
нафталимич

1

Назовите меня сумасшедшим, но у меня уже случалось это раньше, когда клиент TeamViewer захватывал клавишу TAB. Вы не узнаете об этом, пока не закроете окно телевизора, открытое в фоновом режиме. Странно, но это случилось со мной пару раз.


-1

Не уверен, в какой операционной системе вы находитесь, но была известная проблема с клавишей tab в одном из последних выпусков VS Code для Mac OS X. Эта ошибка была исправлена ​​в последнем выпуске (0.10.9).

В Mac OS X вы можете проверить наличие последних обновлений, открыв VS Code и перейдя в [Code> Check for Updates].

Источники и дополнительная информация:


Последнее обновление не помогло мне - я выпустил мартовский релиз инсайдеров, и это сработало отлично.
benkraus
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.