Language-tools: vscode: странные пробелы при форматировании

Созданный на 7 мая 2020  ·  8Комментарии  ·  Источник: sveltejs/language-tools

Есть ли способ не добавлять пробелы в HTML-коде ниже во время форматирования?

Мне нужно, чтобы этот код оставался таким:

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

Вместо этого он становится таким:

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

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

question

Самый полезный комментарий

Вот актуальная проблема для prettier-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (помечена как ошибка)

Все 8 Комментарий

Плагин использует Prettier для форматирования кода. Так что, в конце концов, форматирование кода таким образом выглядит красивее. Поскольку Prettier очень самоуверен и у него не так много возможностей, я думаю, что вы мало что можете с этим поделать.
Если вы хотите полностью отключить форматирование, вы можете сделать это, установив для параметра svelte.format.enable значение false в настройках VSCode.

Нет, мне это нужно. Но я думаю, что мы должны переосмыслить эти вопросы форматирования. Пожалуйста, не закрывайся. RFC это. Пожалуйста.

Я думаю, это сводится к предпочтениям пользователя - я, например, хотел бы, чтобы код был отформатирован таким образом. Поскольку красивее очень самоуверенно, есть несколько вариантов, чтобы изменить результат. Поскольку это также не нарушает ваш код, это больше доставляет неудобства. Помогло бы вам, если бы вы могли отключить форматирование html ( соответствующий запрос функции )? Тогда скрипт / стиль будут отформатированы, но не html.

Замена prettier на совершенно другой модуль форматирования - это то, чего мы не хотим делать в данный момент. Что мы могли бы сделать, так это добавить html-форматировщик vscode в качестве второго варианта, чтобы вы могли выбирать между одним из двух. Но даже если бы мы добавили еще один модуль форматирования, всегда возникает вопрос, будет ли этот модуль форматирования делать то, что вы хотите.

<!-- prettier-ignore --> реализовано в prettier-plugin-svelte 1.1.0, а @dummdidumm просто prettier -plugin-svelte этого репо. Вы можете использовать его в последней стройной бета-версии.

Вот актуальная проблема для prettier-plugin-svelte - https://github.com/sveltejs/prettier-plugin-svelte/issues/24 (помечена как ошибка)

Да, проблема в том, что добавление новой строки здесь изменяет визуализированный вывод, вставляя пробелы в вывод. Первый фрагмент вверху отображается в браузере как Test (one) но после добавления новых строк он становится Test ( one )

Стандартное форматирование Prettier HTML имеет настройку пробелов HTML, чтобы определить, как оно обрабатывает пробелы в HTML, но плагин Svelte Prettier, похоже, не учитывает это. Судя по моему ограниченному исследованию, он повторно реализует множество функций форматирования HTML, чтобы также поддерживать синтаксис шаблонов Svelte.

Обновление IMO, чтобы мы получили вариант <!-- prettier-ignore --> является хорошим обходным путем.
РЕДАКТИРОВАТЬ: На самом деле похоже, что это уже работает.

если кто-то хотел помочь решить эту проблему. Вы можете выбрать то, что осталось, с этим PR
https://github.com/sveltejs/prettier-plugin-svelte/pull/41

Поскольку это проблема prettier-plugin-svelte , я собираюсь закрыть ее. В качестве обходного пути используйте <!-- prettier-ignore --> .

Была ли эта страница полезной?
0 / 5 - 0 рейтинги