TypeScript 如果在某些语句前面,导入声明完成不起作用,

41ik7eoe  于 4个月前  发布在  TypeScript
关注(0)|答案(5)|浏览(57)

Bug报告

🔎 搜索词

  • suggest / suggestions
  • complete / completions
  • import statement completions
  • completionInfo

🕗 版本与回归信息

4.4.0-dev.20210722
非回归性问题

💻 代码

对于一个JS文件:

import 

join('a', 'b')

import 后输入 join 以添加对 path 节点模块的导入

🙁 实际行为

未返回任何建议

🙂 预期行为

我们希望为 join 提供import语句建议。如果我注解掉 join('a', 'b'),我看到它按预期工作。具体针对 completionInfo 的响应是:

Success: false . Message: No content available.
z9smfwbn

z9smfwbn1#

看起来在这些情况下可能很难进行非破坏性的编辑,但我还没有接触到相关的逻辑。如果 import 关键字后面跟着一个换行符并且缺少某些后续结构,我们可以尝试在这里做得更好。

vkc1a9a2

vkc1a9a22#

这应该不会太困难。现在整个importCompletionNode的范围都被替换了,随着我们认识到多行导入节点可能并不打算作为一条语句,这一点必须改变。

ryevplcw

ryevplcw3#

这不应该太困难。现在整个importCompletionNode的范围被替换,随着我们认识到多行导入节点可能并不打算作为单个语句,这必须发生改变。
所以我们只需要确保单个语句应该拆分成多个语句吗?

fnatzsnv

fnatzsnv4#

我不确定这是否算作一个“好的第一期”,但去尝试吧!

cgfeq70w

cgfeq70w5#

对此我感到抱歉。我尝试理解这个问题,但无法解决它。

相关问题