Клавіша Tab Visual Studio Code не вставляє вкладку


330

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

Питання просте, натискання ⇥ Tabв редакторі нічого не робить. Я очікую, що він вставить 4 пробіли.

Хтось знає, що я можу зробити, щоб ⇥ Tabпрацювати так, як очікувалося?


це знову трапляється у інсайдерів ...
Брюс Лі

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

Не відповідаючи на запитання, але для тих, хто приїхав сюди після пошуку "вкладка візуальної студії не працює" або виникне проблема під час натискання Tab у Visual Studio, вибирає блок замість додавання відступів. Ви можете звернутися до цієї відповіді по Карелу Тамайо
Джастін Lessard

Залишається проблемою в Кодексі v1.45.1 з червня 2020 року. Рішення полягає в тому, щоб видалити палітурку Toggle Tab Key Moves Focusклавіш Ctrl + M(див. Відповідь від @Addison). Дивна 'особливість'.
AlainD

Відповіді:


946

Я випадково включив інший режим для клавіші вкладки. Виправлено це, натиснувши Ctrl+ M.

З візуальних документів Студійного коду KeyBinding :

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

Поточний режим управління вкладками також повинен відображатися в рядку стану:

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


28
Сталося зі мною, коли я намагався використати код колапсу ( Ctrl + M, Ctrl + O). Дякую.
цікаво-ім'я-ось

3
Що таке Setting Focus ?
madhu131313

9
На панелі стану внизу є яскраво-зелений колір "Tab Moves Focus", якщо ви помилково натиснули Ctrl + M.
Jannunen

3
@Jannunen Ви маєте рацію, на жаль, для нас, хто має 25 дюймові екрани, ніхто не помітить цієї маленької крихітної речі в кутку ...
strwoc

3
але чому хоч?
hormberg

115

Щоб виправити проблему

Натискання 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для згортання коду, і майже щодня я випадково перериваю свою функцію перед цим :)
ttugates

Спасибі людино, це справді працює. Я забув, що натискав Ctrl + mклавіші.
iFart

Щойно я встановив MSVS 2019. На вкладці Файл я не бачу налаштувань. ctrl-k, ctrl-s відкриває список фрагментів. Я не бачу опції "тумблер перемикання переміщає фокус". Яку версію MSVS ви використовуєте?
riderBill

1
@riderBill - це останній код VS 1,39.2 (2019-10-15). Ви використовуєте Microsoft Visual Studio , який не слід плутати з кодом Visual Studio .
Аддісон

Ой. <: ^ | Моя помилка. Але не (цілком) моя вина. Я попрошу "Microsoft є лідером у галузі за поганим вибором для найменування нових продуктів". Як і Google. Ви коли-небудь намагалися шукати допомогу в Google Messages? [
Зітхнення

70

Клацніть на провідник або будь-яке інше вікно, яке не є редактором, а потім натисніть клавішу Ctrl+ M, це команда "Переключити клавішу" Перемістити фокус "на клавіатурних комбінаціях.


2
Чи є якийсь спосіб відключити цю "функцію"?
Олександр Райан

1
@AlexanderRyanBaggett просто видаліть палітурку клавіш
Lamelas84

17

У моєму випадку я дотримувався цієї поради та змінив цей параметр emmet у vscode на false:

"emmet.triggerExpansionOnTab": false

Я отримував помилку Cannot read property 'value' of null. Це вирішило проблему негайно.


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. А Ден, це гидроболічний
тад

4

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

Файл -> Налаштування -> Налаштування

пошук за "key.dispatch"

скопіювати на праву панель і змінити значення з "коду" на "keyCode"

Перезавантажити код


2

Може, заважає інша програма? Закриття Teamviewer вирішило проблему для мене.


Те саме для мене !!! Я ніколи не відкриваю TeamViewer, і випадково залишив його відкритим. Щоб додати більше інформації: у мене був ще один екземпляр коду VS, і в ньому вкладка працювала нормально, а в іншій вкладці не працювала. Після закриття TeamViewer вкладка працює в обох випадках!
Мілош Станіч

2

[Редагувати] Ця відповідь призначена для MSVS (IDE, на відміну від коду VS ). Схоже, Microsoft і Google виходять зі шляху, щоб вибрати заплутані назви для нових продуктів. Зараз я залишу цю відповідь, поки я (продовжую) шукати еквівалентне запитання про стаціонарний потік щодо MSVS . Повідомте мене в коментарях, якщо ви вважаєте, що я повинен його видалити. А ще краще, вкажіть мене на версію цього питання щодо MSVS .

Нещодавно я встановив MSVS 2017. Жодна із пропозицій, які я бачив, не вирішила проблему. Я вирішив, що я вирішив, працює для MSVS 2015 та 2017. Додайте коментар нижче, якщо виявите, що він працює для інших версій.

У розділі Інструменти -> Параметри -> Текстовий редактор -> C / C ++ -> Форматування -> Загальне, спробуйте зняти прапорець "Автоматично відступати під час введення вкладки". Це здається протилежним інтуїтивно зрозумілим, але воно вирішило проблему для мене. введіть тут опис зображення


Дуже дякую за це виправлення. Це дійсно перемелює мої передачі, коли частина програмного забезпечення починає вважати себе розумнішою, ніж користувач - особливо коли це належить користувачеві.
hidfromkgb

Будь ласка! У якій версії MSVS працює це рішення для вас?
riderBill

1

Переконайтесь, що це НЕ перевірено:

[] Інструменти | Параметри | Текстовий редактор | C / C ++ | Форматування | Автоматичний відступ на вкладці

Дайте мені знати, чи допомогло це!


Це пов’язано з Visual Studio? Гадаю, питання щодо коду VS.
Taha Paksu

1

Для тих із вас, хто не про життя цього простору (- _ -) (- _ -)

  1. Перев'язування клавіатури для ⇥ Tab нічого не встановлено, тому це потрібно робити вручну

  2. Перейдіть до "Налаштування" / "Навколишнє середовище" / "Клавіатурні вкладки " та шукайте " вкладку "

  3. Клацніть на Правка прив’язки внизу та натисніть клавішу вкладки.

  4. Натисніть " Застосувати ", потім " Ок "

  5. Ключова прив'язка!


1

Все сказане для мене не вдалося. Але я помітив shift +⇥ Tab працював так, як очікувалося (перевершуючи лінію).

Тому я шукав ярлик "Відступ" (який був призначений alt+ ctrl + cmd +0 ), призначив його вкладці, і тепер я знову щасливий.


Наступного ранку редагувати ...

Я також використовую вкладку, щоб приймати пропозиції фрагментів, тому я встановив "коли" для "Відступ" editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible.


1
так, нічого над і нижче не працювало .. дякую
naftalimich

1

Назвіть мене божевільним, але у мене це траплялося і раніше, коли клієнт TeamViewer викрадає ключ TAB. Ви цього не дізнаєтесь, доки не закриєте вікно телевізора, яке ви відкрили на задньому плані. Дивно, але це траплялося зі мною пару разів.


-1

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

У Mac OS X можна перевірити наявність останнього оновлення, відкривши VS Code та перейшовши до [Code> Check for Updates].

Джерела та додаткова інформація:


Останнє оновлення не зробило це для мене - я витягнув реліз березня інсайдерів, і це працювало чудово.
Бенкраус
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.