microsoft / microsoft/TypeScript
AllowUnresolveNames not working for completion getters/setters and property signature and declaration
未关闭
还没有人认领这个 Issue。
Domain: LS: Refactorings
Experience Enhancement
Suggestion
- 主要语言
- Go
- 星标
- 111k
- 派生
- 14.4k
- 平均合并
- 1 天 19 小时
- 30 天内合并 PR
- 117
描述
🔎 Search Terms
AllowUnresolveNames, "preserve type nodes"
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about AllowUnresolvedNames and preserve types
⏯ Playground Link
💻 Code
interface A {
foo: import("./doesntexist.js").Foo;
get bar(): import("./doesntexist.js").Foo;
}
class B implements A {
// Trigger completion: "implement interface A" display this completion:
// Actual:
// foo: any;
// get bar(): any {
// throw new Error("Method not implemented.");
// }
// Expected:
// foo: import("./doesntexist.js").Foo;
// get bar(): import("./doesntexist.js").Foo {
// throw new Error("Method not implemented.");
// }
}
🙁 Actual behavior
Triggering completion uses any instead of the unresolved type.
🙂 Expected behavior
Completion should be the unresolved type instead of any
Additional information about the issue
Found in PR https://github.com/microsoft/TypeScript/pull/59440
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
实现 interface A 时,先从链接的 Playground 中复现的补全行为入手,重点关注补全 getter/setter 和属性声明。将实际的 any 输出与预期的未解析 import 类型进行比较;完成的标准是所有显示的补全都保留 import("./doesntexist.js").Foo,而不是使用 any。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- typescript
- 领域
- tooling
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100