【发布时间】:2020-08-18 15:06:44
【问题描述】:
在 Visual Studio Code 中,您可以通过将焦点移至导入的术语,然后使用“快速修复”功能(对我来说是CTRL + .)来自动导入大部分内容。然后,您可以选择让 VS Code 为您将术语的导入添加到文件顶部...除非该术语是 assert。
(注意:我认为您需要在您的jsconfig.js 中添加"checkJs": true 才能使其正常工作......或者使用Typescript。)
奇怪的是,“断言”模块是可用的,作为 Node 本身的一部分!似乎 VS Code 并没有知道它是可用的,我不知道如何让它知道。
当涉及到自动导入时,是否有任何方法(例如,VS Code 设置、jsconfig.json 选项等)可以使其识别出assert 模块的存在?
【问题讨论】:
-
我不是专家,但我相信由于
assert是许多语言中的关键字,VSCode 并不真正将其视为快速修复宏的“缺失”项。这似乎是 VSCode 中的一个错误,但它相当模糊,我找不到任何可以证实该理论的东西。 -
好主意,但问题是,它确实认为它丢失了。如果我键入
assert(1);,我会在assert下看到一条波浪线,并带有警告“找不到名称'assert'.ts(2304)”。通常我可以快速修复和导入,但在快速修复中根本没有导入任何东西的选项。 -
如果导入解决了问题并使程序运行,您可以提出请求以扩展 Quick-Fix-Provider 并添加导入断言。
-
@rioV8 所以你基本上是在暗示这是一个错误,我应该这样归档吗?我实际上是开始这样做的,但后来我想检查并确保我没有先错过任何东西,然后再打扰维护人员......因此这篇文章:-)但是如果赏金到期,我想这将是“证明“这确实是一个错误(如果您提供它作为答案,而没有人提供更好的答案,我会在最后尝试接受它,因此赏金至少会流向试图提供帮助的人)。
标签: javascript visual-studio-code import