VSCode não preenche automaticamente o HTML


87

Estou tendo problemas com meu novo Visual Studio Code instalado no Windows 7. No Mac, o editor fecha automaticamente as tags html, mas no Win7 não. Presumo que deve haver alguma opção para ligá-lo, mas não consigo encontrar nenhuma.

Estou falando sobre quando, por exemplo. escrevendo <htmlo intelliSense aparece e você clica em entrar, geralmente ele automaticamente coloca o </html>meu não está funcionando. (O IntelliSense aparece, mas quando você seleciona uma das opções ele não auto perto da tag: <h1> -> </h1>)


1. você pode usar a etiqueta de fechamento automático , pode atender às suas necessidades.
— jialin wang

2
2. digite um tagname, como div , em seguida, digite a tecla tab duas vezes, ele irá preencher automaticamente a tag whoe -----> <div> </div>
— jialin wang

Respostas:


42

Das notas da versão 0.3.0

O fechamento automático de tags em HTML foi removido e substituído por um IntelliSense mais inteligente ativado </.


5
Oh, isso não é algo que eu esperava. Existe alguma maneira de trazê-lo de volta? Modificar alguns arquivos ou baixar algo? Eu gostaria de usar o VSCode, mas com preenchimento automático. Obrigado.
— Harvey3589661

56
Eu também estava procurando por isso, mas percebi que usar a guia funciona para mim na versão 0.10.6. Por exemplo, digite div(sem o <>) e pressione tab imediatamente, e ele entra <div></div>. Não é exatamente o mesmo, mas pode ser útil. Doco para esses atalhos (emmet) aqui
— peterc

3
sim, isso é devido a Emmet. Emmet, vamos digitar os nomes dos elementos sem as chaves e ele adicionará o que for necessário. É muito poderoso.
— John Papa

1
Isso não funciona para mim no VS Code 1.5.3. Se eu digitar <div> então </ ele não fecha / completa a tag. Algo que estou perdendo aqui?
— Michael Giovanni Pumo,

2
Basta digitar divsem <>e pressionar a guia não funciona mais após as atualizações mais recentes. Existe uma maneira de reativar isso?
— Kokodoko

173

Digite o nome da tag (sem iniciar <) e pressione Tab

por exemplo digite div e pressione tab e o VS o converterá para<div></div>

Ou digite a tag de abertura e pressione Tab duas vezes

por exemplo :

  1. tipo <div
  2. pressione Tab
  3. pressione Tab

irá adicionar a tag de fechamento


2
E quanto às tags de fechamento automático (por exemplo, <input />)?
— Randall Flagg

1
basta digitar input e pressionar Tab duas vezes, o VS Code completará automaticamente para <input type = "text">
— Amit Mittal

1
Só quero acrescentar que isso faz parte da funcionalidade do Emmet, que permite gerar facilmente uma estrutura HTML mais complexa, não apenas pares de tags. Por exemplo, você pode ler isso , ou apenas google para Emmet.
— Alex Che

@Rabolf você pode mencionar alguns outros atalhos HMTL legais para o VS Code?
— eMad de

@eMAD infelizmente não continuei usando o VS Code
— Rabolf

56

Eu estava tendo o mesmo problema, então vi algo no meu canto inferior direito do código vs .. em vez de usar HTML, eu estava usando Django-HTML, então mudei a linguagem para html, Boom tudo está funcionando bem novamente. veja a imagem


Tive um problema semelhante, mas no meu caso percebi que estava escrevendo HTML em um arquivo PHP. Suponha que eu não consiga usar tags de fechamento automático enquanto estiver.
— Prometheus

1
não é necessário alterar o idioma, apenas adicione a settings.json "emmet.includeLanguages": {"django-html": "html"}
— raultedesco

Eu consertei meus templates Twig não intelisensing HTML graças ao comentário de @raultedesco acima. Ctrl+Shift+p-> abrir Perferences: Open Settings (UI)-> pesquisar includedLanguages-> encontrar idiomas incluídos no Emmet -> inserir Item: twig; Value: html-> pressionar Add item-> aproveitar.
— Valentine Shi

22

Aqui está um truque legal (na verdade, uma abreviatura de Emmet) :

  • escreva o nome da tag | por exemploh1
  • adicione um asterisco depois disso | por exemploh1*
  • pressione | (resultará em )Tab<h1></h1>

­

PS: Isso também funciona para tags de fechamento automático, como - input, imgetc.


1
@Kokodoko Sim, vale :P
— ɢʀᴜɴᴛ

Isso é tão estranho ... Não tenho certeza de qual configuração alterar para reativá-la ...
— Kokodoko

1
@Kokodoko você deve ter a extensão emmet instalada.
— Sudhanshu

1
Isso funciona, mas não há necessidade de incluir o *. 1.21.0
— Molho

1
@BlueClouds yes e qualquer um deles que forneça suporte para abreviações html, deve funcionar. Por uma regra genérica, eu uso aquele com o máximo de instalações.
— Sudhanshu

15

Você pode tentar esta extensão para VS Code. Ele implementou a função de tag de fechamento automático e atenderia aos seus requisitos:

  • Adiciona automaticamente a marca de fechamento ao digitar o colchete de fechamento da marca de abertura
  • Após a tag de fechamento ser inserida, o cursor fica entre a tag de abertura e fechamento

Isso é o que eu precisava. Funciona como colchetes agora, o que é ótimo. Obrigado!
— Harvey3589661

Sim, mas ... foi habilitado em versões anteriores do VS Code. Não é apenas uma configuração em algum lugar no labirinto de settings.json?
— Kokodoko

7

Encontrei o mesmo problema no Mac Sierra (10.12.6) com VSCode (1.30.2), ao editar um arquivo HTML. De acordo com as documentações do vscode https://code.visualstudio.com/docs/languages/html , o intellisense deve funcionar imediatamente .

Descobriu-se que a "Detecção de idioma" (no canto direito da barra de status do editor na parte inferior da tela) está definida como Detecção automática e reconheceu o arquivo como django-html. Quando alternado manualmente de volta para Html simples, tudo funciona.


5
  1. Pressione Ctrl + Shift + P para abrir a paleta de comandos.
  2. Digite 'Alterar Modo de Idioma' no buscador.
  3. Selecione 'Alterar Modo de Idioma' .
  4. Digite 'HTML' no buscador.
  5. E selecione 'HTML' (provavelmente foi definido como 'django-html)

3

Pressione 𝐜𝐭𝐫𝐥+𝐬𝐡𝐢𝐟𝐭+𝐏-> digite 𝐂𝐡𝐚𝐧𝐠𝐞 𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 𝐌𝐨𝐝𝐞 -> e selecione 𝐀𝐮𝐭𝐨 𝐃𝐞𝐭𝐞𝐜𝐭

Funciona para mim.


1
Não vejo nada de novo nesta resposta
— Double Expresso

2

Arquivo> Preferências> Mapas de teclado, Pesquise 'Fechar automaticamente' e clique em instalar. Se não funcionar, recarregue o plugin.


1

Eu estava sofrendo do mesmo problema, então desinstalei extensões desnecessárias do VS Code junto com a extensão JavaScript (SE) e funcionou para mim.


0

Pressione Ctrl + Shift + Ppara abrir o comando. Em seguida, digite Change Language Modeum HTMLidioma selecionado ou qualquer outro idioma desejado.


0

Basta verificar a parte inferior do seu vscode e alterar o modo de idioma para HTML. Pode estar exibindo django-html ou clique em ctrl + shift + p para alterar o modo de idioma Captura de tela

Agora clique em [!] + TAB voila pronto !!!


0

Se você digitar

div.class

e então pressione TAB , o código VS irá fechar automaticamente a tag DIV com o dado CLASSE

Mas acho que você deseja fazer esta operação pressionando o botão ENTER tecla .

Nesse caso, vá para a configuração de usuário do código VS e cole o seguinte código:

"emmet.includeLanguages": {
    "javascript": "javascriptreact",
    "vue-html": "html",
    "razor": "html",
    "plaintext": "jade"
}

Agora se você digitar

div.class

e então pressione o ENTER tecla , você pode ver a mágica.

No entanto, o código acima tornará o autopreenchimento do VS Code com a tecla ENTER não apenas para HTML normal, mas também para JSX do React , snippets Vue.js também cobrirão isso.

Mas se você quiser fazer isso apenas para arquivo HTML, basta a seguinte linha:

"emmet.includeLanguages": { "javascript": "html" }

Felicidades..

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.