Language-tools: Предупреждение о неиспользуемых свойствах экспорта находится в неправильной строке при использовании препроцессора TypeScript.

Созданный на 27 авг. 2020  ·  18Комментарии  ·  Источник: sveltejs/language-tools

Опишите ошибку
Операторы export let неиспользуемого свойства вызывают предупреждение. Предупреждение отображается в строке над фактическим имуществом для меня.

Воспроизводить

Установите язык сценария на машинописный текст ( lang="ts" или type="text/typescript" ).
Объявите какое-то свойство экспорта, нигде не используйте.

Ожидаемое поведение

Предупреждение касается неиспользуемого свойства.

Скриншоты

image

Если свойство находится в первой строке скрипта:

image

Система (пожалуйста, заполните следующую информацию):

  • ОС: Windows 10, 64-битная
  • IDE: VSCode
  • Плагин / Пакет: Svelte для VSCode

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

Попробуйте обновить @ tsconfig / svelte до последнего

Я этим не пользуюсь.
Временно добавил, ничего не сделал.

О, я думал, вы используете официальный шаблон. Пакет представляет собой базовую конфигурацию для svelte. Вы можете обновить extends своего tsconfig.json чтобы оно соответствовало этому.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87

Дубликат № 333

@ jasonlyu123 Как я уже сказал, я временно добавил базовую конфигурацию, но ничего не изменилось. Я по-прежнему получаю ошибки не в той строке.

Затем вы можете попробовать запустить tsc чтобы скомпилировать ts-файл в своей рабочей области и посмотреть, есть ли в выходном файле исходная карта?

Проблема с исходной картой. Мы используем компактный компилятор, чтобы получить простую диагностику. если у вас есть svelte.config.js и вы укажете в нем свой препроцессор, мы будем использовать его для предварительной обработки, в остальном мы будем использовать официальный svelte-preprocess. И если препроцессор не вернет исходную карту, предупреждение будет в неправильной позиции.

Кроме того, мы не отслеживаем изменения в tsconfig.json, поэтому не забудьте перезапустить языковой сервер после любых изменений.

Он не всегда генерирует исходные карты. Если я вызываю tsc для одного файла, он, по-видимому, не загружает tsconfig; если я использую tsc -p . или tsc --build tsconfig.json он выведет исходную карту, как и ожидалось.

Могу я взглянуть на ваш svelte.config.js если он у вас есть, а также на какой препроцессор вы используете?

Я использую процессор по умолчанию, который в автоматическом режиме должен быть svelte-preprocess . Я сделал минимальный репозиторий примеров, в котором есть ошибки во входном компоненте.

Я пробовал создать svelte.config.js , явно установив препроцессор в автоматический режим, не имело значения. Явное использование только typescript one с путем к tsconfig.json тоже ничего не дало.

Эммм ... это неожиданно, это сработает только тогда, когда я также установлю sourcemap в значение true в tsconfig.json

Тогда extends не совсем работает. Что ж, я не возражаю, чтобы прямо сейчас это установить.
Спасибо

Да, я бегло посмотрел на исходный файл svelte-preprocess. Похоже, он не разбирает extends .
Спасибо за вопрос!

Я открыл эту проблему на svelte-preprocess , потому что, согласно документации , в режиме автоматической предварительной обработки должны создаваться исходные карты. Обновление: документы были неправильными, поэтому вам нужно самостоятельно установить для него значение true .

@brunnerh, если вы удалите "sourceMaps": true и ссылку на базовую конфигурацию из своего tsconfig.json и вместо этого сделаете sveltePreprocess({sourceMap: true}) в своем svelte.config.js , отобразит ли он предупреждения в правильном линия тогда?

@brunnerh, если вы удалите "sourceMaps": true и ссылку на базовую конфигурацию из своего tsconfig.json и вместо этого сделаете sveltePreprocess({sourceMap: true}) в своем svelte.config.js , отобразит ли он предупреждения в правильном линия тогда?

Нет, все еще выключено.

Так что это работает, только если вы добавите "sourceMaps": true к tsconfig.json ?

да

Закрытие, так как это проблемы, связанные с svelte-preprocess . «Исходная карта не применяется, когда я сообщаю препроцессору через его опцию sourceMap» - проблема исправлена ​​в последней версии. « extends -функция tsconfig.json не поддерживается» отслеживается в https://github.com/sveltejs/svelte-preprocess/issues/300 .

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