TypeScript版本: 3.0.0-dev.20180713
搜索词:
- isNewIdentifierLocation
- completions
- suggest
问题
当在函数调用中,如:
console.log(c|)
时,completionInfo
请求似乎总是返回isNewIdentifierLocation
。
预期行为:
我认为isNewIdentifierLocation
应该只在用户开始编写带有括号参数列表的箭头函数时返回,例如:
(c|)
或者
console.log((c|)
3条答案
按热度按时间llycmphe1#
问题在于,
c => c + 1
也是一个语法上有效的箭头函数。因此,当用户输入c
时,我们不希望自动将其纠正为以c
开头的内容。一个可能的选项是返回三个结果:绝对不是新的标识符,可能是新的标识符,以及可能不是新的标识符。这样,编辑器可以避免进行大量的纠正操作,但仍然可以纠正明显的拼写错误。
v8wbuo2f2#
我们在这里感兴趣的一个案例是是否要在
,
上启用接受完成。我认为当用户要输入c => c + 1
时,,
应该为c|
提交,但在(c) => c + 1
中不是为(c|)
提交。我认为我们可以通过你提议的额外信息来实现这一点。
kzmpq1sx3#
这个bug仍然存在于TypeScript 3.2.2中。这相当令人恼火,因为在所有IDE中,自动补全匹配都不会在你期望它出现的情况下插入。
我认为
isNewIdentifierLocation
的值应该取决于当前位置是否有效箭头函数。例如: