У меня установлено расширение Svelte Beta, и я перезапустил языковой сервер. Мой svelte.config.js
:
const sveltePreprocess = require('svelte-preprocess');
module.exports = {
preprocess: sveltePreprocess(),
};
Однако расширение, похоже, не помогает VS Code понять, что мой код - это Typescript, поскольку он дает ошибку при аннотации типа:
Аннотации типов могут использоваться только в файлах TypeScript. javascript
Также интересно, если я изменю lang="typescript"
на type="text/typescript"
, цвета синтаксиса полностью исчезнут, как и ошибка:
Система (пожалуйста, заполните следующую информацию):
Можете ли вы опубликовать здесь код целого файла или пример репозитория? Я не могу это воспроизвести. Не нужно включать весь скрипт, но нужны другие теги верхнего уровня
Вот минимальное воспроизведение:
<script lang="typescript">
let countExcludingUser: number = 0;
</script>
<p>Hi</p>
Я отключил все расширения, кроме Svelte Beta, и перезапустил VS Code, но безуспешно.
Мне удалось воспроизвести только один раз, и после этого не повезло. Можете ли вы попробовать еще раз на последней сборке 99.0.22? В этой версии есть некоторые обновления о предварительной обработке. Если он все еще сохраняется, можете ли вы сделать репозиторий для примера?
Из вашего описания кажется, что SveltePlugin.ts
действительно требует предварительной обработки с помощью Typescript, потому что нет синтаксической ошибки Svelte, такой как "неожиданный токен". С другой стороны, TypescriptPlugin.ts
- по какой-то причине - не распознает, что вы используете Typescript, но вместо этого думает, что это Javascript. Действительно странно .. Пример репо наверняка поможет.
А, значит, проблема заключалась в том, что у меня в настройках VS Code "User" было следующее:
"files.associations": {
"*.svelte": "html"
},
Теперь, когда я его удалил, вроде все работает нормально.
Самый полезный комментарий
А, значит, проблема заключалась в том, что у меня в настройках VS Code "User" было следующее:
Теперь, когда я его удалил, вроде все работает нормально.