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.