Language-tools: Svelte for VS Code v102.5.0 / svelte-check 1.1.09当下面显示样式标签时,在.svelte文件中破坏了对TS的支持

创建于 2020-11-05  ·  9评论  ·  资料来源: sveltejs/language-tools

描述错误
对于版本102.5.0,.svelte文件中的导入和标记互操作类型提示中断。

  • 将鼠标悬停在标记中的js变量上(例如<div>{obj.value}</div> )不提供类型提示。
  • 尝试在标记中自动完成时没有属性建议。
  • <script lang="ts"> ts错误的误报。
  • 带有组件导入错误的误报(在某些情况下)。

恢复到v102.4.0可解决以下问题: code --install-extension [email protected]

重现
安装[email protected] 。 比较[email protected]

预期行为
对您期望发生的事情的简洁明了的描述。

屏幕截图

  • 尝试自动完成时没有属性建议:
    image
  • 带有ts错误的误报:
    image
  • 带有组件导入的误报(在某些情况下):
    image

系统(请完成以下信息):

  • 操作系统:Windows
  • IDE:VSCode 1.50.1,x64
  • 插件/软件包:Svelte for VSCode

额外的背景
需要明确的是,我的应用程序按预期运行,看起来完全是一个工具问题。

Fixed bug

最有用的评论

这应该用Svelte for VS Code 102.5.1 / svelte-check 1.1.10修复

所有9条评论

您是否有一个最低限度的代码段可以为您重现此代码段,更具体地说,是否是发生“意外令牌”错误的代码段(我猜所有其他错误都是由于此)? 根据您的描述,我无法复制它。

带svelte-check 1.1.8

> svelte-check --output=machine
1604601599943 START "<my-path>"
1604601605719 COMPLETED 36 FILES 0 ERRORS 0 WARNINGS 10 HINTS

带svelte-check 1.1.9

> svelte-check --output=machine
1604601792022 START "<my-path>"
1604601797435 ERROR "src/components/employee/Employees.svelte" 10:18 "Unexpected token"
1604601797435 COMPLETED 36 FILES 1 ERRORS 0 WARNINGS 9 HINTS

问题所在的行仅定义了一个类型为变量的变量:
let newEmployee: EmployeeDto;

我也收到最新更新的意外打字稿错误。 到目前为止,仅与进口有关。 所有文件都具有相同的错误,但文件之间的行通常不相同。 您可以在此处看到将*标记{错误,其他文件在导入行中将{错误。

image

如果有人正在寻找解决方法:

  • ctrl+,
  • 搜索extensions.autoUpdate并将其禁用
  • 打开终端,并使用code --install-extension [email protected]将插件还原到v102.4.0
  • 等待它安装并重新加载

不要忘记稍后重新启用自动更新

看起来好像只是出现了PR,但万一它仍然有用,这是我可以可靠复制的最小示例:

<script context="module" lang="typescript">
  class Control {
    el: string;
  }
</script>

<script lang="typescript">
</script>

这应该用Svelte for VS Code 102.5.1 / svelte-check 1.1.10修复

我们可以为此添加测试以防止将来出现这种情况吗? 我很乐意这样做,但是在此仓库中找不到任何测试,也许您可​​以给我一个提示。

只是一些背景知识:我是Svelte的新手,我花了大约2-3个小时来弄清楚发生了什么。 首先,svelte扩展程序在我重新加载vs代码(当时我没有意识到)之后就中断了,然后在重新安装所有软件包之后(我当时也没有意识到)svelte-check停止了工作。 我无法在google上找到任何东西,也无法在故障排除指南中找到任何东西来进行细心检查,因为这显然是第一次发生这种情况。 不好的经历。 对于来自React的人,必须具有出色的打字稿经验。 我本打算永远放弃斯维尔特:(

我添加了带有修复的测试,您可以在提交中看到该修复。 威胁要离开无济于事。

太棒了,我错过了它已经包含在提交中了:)

顺便说一句,我不是在“威胁”,我只是想描述一个让我陷入困境的情况以及它如何使我感到,仅此而已。

此页面是否有帮助?
0 / 5 - 0 等级