VSCode не автоматично заповнює HTML


85

У мене проблеми з новим встановленим кодом Visual Studio у Windows 7. На Mac редактор автоматично закриває теги html, а на моєму Win7 - ні. Я припускаю, що має бути якийсь варіант, щоб увімкнути його, але я не можу знайти жодного.

Я говорю про те, коли, наприклад. написання <htmlintelliSense спливає, і ти натискаєш клавішу Enter, як правило, це автоматично ставить у </html>шахту не працює. (IntelliSense вискакує, але коли ви вибираєте один із параметрів, тег не закривається автоматично <h1> -> </h1>)


1.ви можете використовувати тег автоматичного закриття , він може заповнити ваші вимоги.
— jialin wang

2
2. введіть ім'я тегу, наприклад div , потім двічі введіть ключ вкладки , він автоматично заповнить тег whoe -----> <div> </div>
— jialin wang

Відповіді:


40

З приміток до випуску 0.3.0

Автоматичне закриття тегів HTML тепер видалено та замінено на розумніший увімкнений IntelliSense </.


5
О, на це я не сподівався. Чи є спосіб повернути його назад? Змінити деякі файли чи завантажити щось? Я хотів би використовувати VSCode, але з автозаповненням. Дякую.
— Harvey3589661

56
Я також шукав це, але я помічаю, що використання вкладки працює для мене в 0.10.6. Наприклад, наприклад div(без <>), потім відразу ж натисніть на вкладку, і воно входить <div></div>. Не зовсім те саме, але може бути корисним. Doco для цих ярликів (emmet) тут
— peterc

3
так, це завдяки Еммету. Давайте Еммет введемо імена елементів без фігурних дужок, і він додасть те, що потрібно. Це дійсно потужно.
— Джон Папа

1
Для мене це не працює у VS Code 1.5.3. Якщо я вводжу <div>, тоді </ це не закриває / заповнює тег. Щось мені тут не вистачає?
— Michael Giovanni Pumo

2
Просто друкувати divбез, <>а потім натискати вкладку, вже не працює після останніх оновлень. Чи є спосіб поновити це?
— Кокодоко,

170

Введіть ім'я тегу (без запуску < ), а потім натисніть клавішу Tab

наприклад введіть, divпотім натисніть клавішу табуляції, і VS перетворить її на<div></div>

Або введіть початковий тег, а потім двічі натисніть Tab

наприклад :

  1. типу <div
  2. натисніть Tab
  3. натисніть Tab

він додасть закриває тег


2
А як щодо самозакриваючих тегів (наприклад, <input />)?
— Randall Flagg

1
просто введіть введення та двічі натисніть клавішу Tab, код VS автоматично заповнить його до <input type = "text">
— Amit Mittal

1
Просто хочу додати, що це частина функціональності Emmet, яка дозволяє легко створювати більш складну структуру HTML, а не лише пари тегів. Для прикладів ви можете прочитати це , або просто погуглити Emmet.
— Alex Che

@Rabolf, чи можете ви згадати деякі інші цікаві комбінації клавіш HMTL для VS Code?
— eMad,

@eMAD, на жаль, я не продовжував користуватися VS Code
— Раболф,

52

Я відчував ту ж проблему, то побачив щось праворуч унизу від коду проти. Замість HTML я використовував Django-HTML, тому я змінив мову на html, Boom, все знову працює нормально. див. зображення


У мене була подібна проблема, але в моєму випадку я зрозумів, що пишу HTML у файл PHP. Припустимо, я не зможу використовувати теги автозакриття стільки часу, скільки є.
— Прометей

21

Ось класний фокус (насправді абревіатура Еммета) :

  • напишіть назву тегу | напрh1
  • після цього додати зірочку | напрh1*
  • натисніть | (призведе до )Tab<h1></h1>

­

PS: Це також працює для самозакривних тегів, таких як - input, і imgт.д.


1
@Kokodoko Так це робить :P
— ɢʀᴜɴᴛ

Це так дивно ..... Я не знаю, який параметр змінити, щоб його знову ввімкнути ...
— Кокодоко,

1
@Kokodoko, вам слід встановити розширення emmet.
— Судханшу,

Це працює, але немає необхідності включати *. 1.21.0
— Соус

1
@BlueClouds так, і будь-який із них, що забезпечує підтримку абревіатури html, повинен працювати. За загальним правилом я використовую той, який має максимальну кількість встановлень.
— Судханьшу

15

Ви можете спробувати це розширення для VS Code. Він реалізував функцію автоматичного закриття тегів і відповідав би вашим вимогам:

  • Автоматично додавати закриваючий тег, коли ви вводите заключну дужку відкриваючого тегу
  • Після вставлення закриваючого тегу курсор знаходиться між відкриваючим та закриваючим тегом

Це те, що мені потрібно було. Зараз працює як дужки, що чудово. Дякую!
— Harvey3589661

Так, але ... це було включено в попередніх версіях VS Code. Чи це не просто налаштування десь у лабіринті settings.json?
— Кокодоко,

7

Я зіткнувся з такою ж проблемою на Mac Sierra (10.12.6) з VSCode (1.30.2), під час редагування файлу HTML. Відповідно до документації vscode https://code.visualstudio.com/docs/languages/html , intellisense має працювати нестандартно.

Виявилося, що для "Визначення мови" (у правому куті рядка стану редактора внизу екрана) встановлено значення "Автоматичне виявлення" і файл розпізнано як django-html. При ручному перемиканні назад на звичайний Html все працює.


5
  1. Натисніть Ctrl + Shift + P щоб відкрити палітру команд.
  2. Введіть "Змінити режим мови" .
  3. Виберіть "Змінити режим мови" .
  4. Введіть "HTML" у пошуковому запиті.
  5. І виберіть "HTML" (для нього, ймовірно, встановлено "django-html)

3

Натисніть 𝐜𝐭𝐫𝐥+𝐬𝐡𝐢𝐟𝐭+𝐏 -> введіть 𝐂𝐡𝐚𝐧𝐠𝐞 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 𝐌𝐨𝐝𝐞 ->, а потім виберіть 𝐀𝐮𝐭𝐨 𝐃𝐞𝐭𝐞𝐜𝐭

Це працює для мене.


1
Я не бачу нічого нового у цій відповіді
— Вега,

2

Файл> Налаштування> Клавіатури, знайдіть "Автоматичне закриття" та натисніть на встановити. Якщо це не працює, перезавантажте плагін.


1

Я страждав від тієї самої проблеми, потім видалив непотрібні розширення з VS Code разом із розширенням JavaScript (SE), і це працювало для мене.


0

Натисніть, Ctrl + Shift + Pщоб відкрити команду. Потім введіть Change Language Modeвибір HTMLабо будь-яку іншу бажану мову.


0

Просто перевірте нижню частину вашого коду vscode та змініть режим мови на HTML. Можливо, він показував django-html або натисніть ctrl + shift + p, щоб змінити мовний режим Знімок екрана

Тепер натисніть [!] + TAB вуаля це зроблено !!!

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