vscode 下 rust analyze 插件出现未预期的 API 缺失报错提示

问题描述

最近在尝试使用 trunk 框架开发 wasm 应用。最终代码可以成功构建并运行。

但是 vscode 中的 rust analyze 总是会给出类似如下错误的 API 缺失提示。

猜测是其没有识别到我构建的 target 为 wasm32,依旧为 Linux/Unix 平台,导致其中的 web 相关 API 被禁用

报错 1:

image

unresolved import `web_sys::HtmlCanvasElement`
no `HtmlCanvasElement` in the root

报错 2:

image

no variant or associated item named `Canvas` found for enum `SurfaceTarget` in the current scope
variant or associated item not found in `SurfaceTarget<'_>`

解决方式

vscode 中建立工作区,并在生成的 .code-workspace 文件中添加如下段落,显式指明构建 target

	"settings": {
		"rust-analyzer.cargo.target": "wasm32-unknown-unknown"
	}
  • VSCode
    37 引用 • 55 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...