TypeScript 从第一个导入语句完成开始

afdcj2ne  于 5个月前  发布在  TypeScript
关注(0)|答案(3)|浏览(47)

建议
导入、补全、反向引用、逆向引用、从第一个符号开始

✅ 可实现性检查清单

这是一个语言服务器的补全功能,不会影响编译器或语言语法。

⭐ 建议

当符号未知且包存在时,为完成导入提供更平滑的开发体验。这是针对TS 4.3提议的新符号优先导入补全功能的相反之处。

📃 激励示例

符号优先导入补全功能很有趣,但我认为它在某种程度上忽略了现实世界的情况。归根结底,作为开发者,我们几乎从未真正花时间在文件顶部手动编写导入语句。
每当我知道要导入的符号时,我通常会将其写入代码块中,而TS Lang Server能够根据其使用情况完成导入。这是我导入一个我知道其名称的符号的99%的情况。从这个Angular 来看,对 import { myFunc } 的补全是无用的。
鉴于此,我实际在文件顶部编写导入语句的唯一时间通常是我知道包的名称,但我不知道确切的符号名称或从哪里开始。在这种情况下,我最终不得不编写 import { } from 'myPackage'; ,然后返回到 { } 并触发补全。
这将是一个小改进,但能够编写 from 'myPackage' 并呈现可供选择的符号列表对我来说更有意义,因为我们唯一在文件顶部编写导入语句的时候是我们不知道我们在寻找哪些符号的时候。

💻 用例

我认为激励示例已经足够说明问题了。
实现似乎很简单。简单到至少VSCode或Webstorm应该能够匹配其行为。

7kqas0il

7kqas0il1#

我也考虑过类似的想法——用户可以输入

from "some-package" import /**/

,然后能够从那里自动补全,同时也会打乱原始语法?

72qzrwbm

72qzrwbm2#

基本上...或者任何定义了该包的第一种模式的变体,并自动补全其中的符号。一旦写下from 'some-package',如果整个事情最终会被纠正为import { myThing } from 'some-package';,那么import似乎多余。我们可能应该避免引入另一种导入语法,即使它会更直观地先定义包...。

周三,2021年4月14日晚上10:57,Daniel Rosenwasser <***@***.*>写道:我也考虑过类似的事情——所以这个想法是用户可以写成从"some-package"导入//,并且能够从那里自动补全吗?——你收到这封邮件是因为你创建了这个主题。直接回复这封邮件,在GitHub上查看它<#43670 (comment)>,或者取消订阅< https://github.com/notifications/unsubscribe-auth/ABOXAMVHVGDSGP6HOX3PYCTTIXXUFANCNFSM4242ZLVA >。

vxqlmq5t

vxqlmq5t3#

这是一个代码片段:

相关问题