Опишите ошибку
Когда документ .svelte
форматируется при сохранении, отступ не меняется.
Воспроизводить
.svelte
файлОжидаемое поведение
Я ожидаю, что код будет отформатирован при сохранении.
Скриншоты
Пример кода, который не форматируется ниже.
Система (пожалуйста, заполните следующую информацию):
Дополнительный контекст
Я использую это с .editorconfig
.
Означает ли это, что если вы выполняете форматирование «вручную» (с помощью команды sortcut /), код форматируется? Или вообще не форматируется?
Попробовал отладить дальше. Я попытался включить конфигурацию .prettierrc
и установить Prettier, и мне удалось заставить что-то работать. После отключения Prettier и удаления конфигурации .prettierrc
нее больше нет проблемы, и она форматируется при сохранении. Я предполагаю, что даже до форматирования вручную не сработало бы.
Я должен удалить VScode и попробовать с нуля, если у меня будет время.
Я не знаком с тем, как работает форматирование, но думаю о следующих сценариях:
.prettierrc
?.editorconfig
? В настоящее время конфигурация редактора работает, когда присутствует .prettierrc
..prettierrc
config.editorconfig
, но это можно добавить.Под капотом форматирование работает следующим образом:
prettier-plugin-svelte
.Если вы попытаетесь отформатировать, но ничего не отформатируйте, не могли бы вы заглянуть в Output-> Svelte и посмотреть, есть ли что-нибудь подозрительное (или просто скопируйте логин сюда)?
Спасибо за разъяснение этих моментов. Если у меня будет возможность, я попробую переустановить VScode и попытаться воспроизвести проблему.
У меня такая же ошибка. Код не изменяется при сохранении. \
Это происходит только в файлах .svelte
, другие файлы будут автоматически отформатированы при сохранении. \
Мой вывод-> Svelte печатает только строку Using Svelte v3.24.0 from ....
\
Вывод-> Prettier остается пустым в файлах .svelte
, но работает должным образом и заполняет вывод в других файлах (например: js, ts, ..)
Запущенные через консоль prettier --write "**/*.{css,html,js,json,md,scss,svelte,ts,yml}"
, svelte-файлы будут автоматически отформатированы, но не после сохранения в vs-code.
Он форматируется, если вы явно вызываете команду "форматировать", или он не форматируется вообще?
Он форматируется, если вы явно вызываете команду "форматировать", или он не форматируется вообще?
Если я принудительно использую формат vs-кода ( ctr + shift + i
), он форматирует все файлы, кроме файлов * .svelte.
Есть настройка svelte.format.enable
, она установлена на true
в ваших настройках?
Вы сказали, что внутри Output-Svelte отображается только Using svelte ...
, что означает, что он даже не доходит до кода форматирования. Если это так, в выводе также должно быть Using Prettier ...
.
Есть настройка
svelte.format.enable
, она установлена наtrue
в ваших настройках?
Да, эта настройка верна
Вы сказали, что внутри Output-Svelte отображается только
Using svelte ...
, что означает, что он даже не доходит до кода форматирования. Если это так, в выводе также должно бытьUsing Prettier ...
.
Мне кажется, что IDE и консоль не работают с одинаковыми параметрами / настройками.
Вчера я добавил опцию предварительной обработки sass, которая работает нормально, без каких-либо проблем (через cli webpack-dev-server --config config/webpack.config.js --progress
), но IDE выдает ошибку (Output Svelte):
Using Svelte v3.24.0 from /home/user/path/project/node_modules/svelte/compiler
Preprocessing failed
Error: Cannot find any of modules: sass,node-sass
at Object.importAny (/home/user/path/project/node_modules/svelte-preprocess/dist/modules/importAny.js:29:15) {
__source: 'Style'
}
Может это связано ..
Думаю, это не связанный с этим вопрос. Вам необходимо установить либо sass
(рекомендуется), либо node-sass
. См. Здесь для получения дополнительной информации .
Думаю, это не связанный с этим вопрос. Вам необходимо установить либо
sass
(рекомендуется), либоnode-sass
. См. Здесь для получения дополнительной информации .
Спасибо за ссылку. Я просто добавил двоичный путь узла в svelte.language-server.runtime
, что устраняет ошибку none-sass: zap :.
Настройки svelte.language-server.ls-path
и svelte.language-server.port
пусты. Все остальные настройки, такие как svelte.plugin.typescript.enable
, включены.
Возможная причина: https://github.com/sveltejs/prettier-plugin-svelte/issues/74#issuecomment -665831712
@ s0me0ther @limitlessloop не могли бы вы проверить, может ли это быть причиной вашей проблемы? https://github.com/sveltejs/prettier-plugin-svelte/issues/74#issuecomment -665831712
@ s0me0ther @limitlessloop не могли бы вы проверить, может ли это быть причиной вашей проблемы? sveltejs / prettier-plugin-svelte # 74 (комментарий)
@dummdidumm ,
Но если я изменю средство форматирования по умолчанию с esbenp.prettier-vscode
на svelte.svelte-vscode
я могу форматировать только небольшие файлы: /. \
Есть ли способ использовать разные форматеры для разных типов файлов?
Вы установили значение по умолчанию для всех типов файлов?
Вы установили значение по умолчанию для всех типов файлов?
Да. Я новичок в VSCode .. \
Теперь я использую следующие настройки, которые работают как шарм:
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[svelte]": {
"editor.defaultFormatter": "svelte.svelte-vscode"
},
Спасибо всем за решение этого вопроса!
Самый полезный комментарий
Да. Я новичок в VSCode .. \
Теперь я использую следующие настройки, которые работают как шарм:
Спасибо всем за решение этого вопроса!