Language-tools: vscode: espaços bizarros durante a formatação

Criado em 7 mai. 2020  ·  8Comentários  ·  Fonte: sveltejs/language-tools

Existe uma maneira de não adicionar espaços no html abaixo durante a formatação?

Preciso desse código para ficar assim:

<div>
  Test (<span class="color">one</span>)
</div>

Em vez disso, torna-se assim:

<div>
  Test (
  <span class="color">one</span>
  )
</div>

De https://github.com/UnwrittenFun/svelte-vscode/issues/50.

question

Comentários muito úteis

Aqui está o problema relevante para mais bonito-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (é rotulado como um bug)

Todos 8 comentários

O Plugin usa o Prettier para formatar o código. Portanto, no final, é mais bonito formatar o código dessa maneira. Já que Prettier é muito teimoso e não tem muitas opções, acho que não há muito que você possa fazer a respeito.
Se você deseja desativar totalmente a formatação, pode fazê-lo definindo a opção svelte.format.enable como falso nas configurações do VSCode.

Não, eu preciso disso. Mas acho que devemos repensar essas questões de formatação. Por favor, não feche. RFC isso. Por favor.

Acho que isso se resume às preferências do usuário - eu, por exemplo, gostaria que o código fosse formatado dessa forma. Já que mais bonita é muito teimosa, há poucas opções para ajustar o resultado. Como também não quebra seu código, é mais um inconveniente. Seria útil se você pudesse desativar a formatação html ( solicitação de recurso relacionado )? Então o script / estilo seria formatado, mas não em html.

Substituir o mais bonito por um formatador totalmente diferente é algo que não queremos fazer no momento. O que poderíamos fazer é adicionar o formatador html vscode como uma segunda opção, para que você escolha entre um dos dois. Mas mesmo se adicionarmos outro formatador, sempre haverá a questão de saber se esse formatador faz ou não o que você deseja.

<!-- prettier-ignore --> é implementado em mais bonito-plugin-svelte 1.1.0 e @dummdidumm, basta adicionar a versão mais bonito-plugin-svelte deste repositório para ele. Você poderia usá-lo no último beta svelte.

Aqui está o problema relevante para mais bonito-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (é rotulado como um bug)

Sim, o problema é que adicionar novas linhas aqui altera a saída renderizada inserindo espaços na saída. O primeiro snippet no topo é renderizado no navegador como Test (one) mas depois de adicionar as novas linhas ele se torna Test ( one )

A formatação de HTML mais bonito padrão tem uma configuração de espaço em branco HTML para determinar como trata os espaços em branco no HTML, mas o plugin Svelte Prettier não parece honrar isso. Da minha exploração limitada, ele reimplementa muitas funcionalidades de formatação HTML para também suportar a sintaxe do modelo Svelte.

Atualizar IMO para obtermos a opção <!-- prettier-ignore --> é uma boa solução por enquanto.
EDIT: Na verdade, parece que isso já funciona.

se alguém quisesse ajudar a resolver isso. você pode escolher o que resta com este PR
https://github.com/sveltejs/prettier-plugin-svelte/pull/41

Uma vez que este é um problema de prettier-plugin-svelte , vou encerrar isto. Como alternativa, use <!-- prettier-ignore --> .

Esta página foi útil?
0 / 5 - 0 avaliações