一个提升小幸福感的 VSCode 插件(输入空格时自动给到代码提示)

360 天前
 mutou945ya

该主题内容的受众为满足下方条件的开发者哈,不在该条件下的同学可以选择性的阅读:

  1. 你在使用vscode开发项目

  2. 项目使用的是TypeScript


❓:为什么会做这个插件呢?

🙋🏻‍♀️:因为目前项目中是使用ReactTSX来做开发的,发现在添加组件时,其中props有点多,需要不断的手动触发提示来编写代码,有些繁琐,后来经过和好兄弟聊天得知webstorm这点做的非常好,在添加组件时,相关props可以非常方便的展示出来,于是我试了一下vscode,发现是没有这个功能的,所以就萌生了这个想法

幸福感提升在何处呢?我们来看demo动图:

✋🏻 安装插件

👌🏻 安装插件

webstorm 效果:

可以很明显的看出,安装插件之后,在添加一个组件的时候,可以做到不打断添加流程,将props参数以一种非常符合直觉的方式提示到你的眼前。

我们看下如果不这么提示的话,你该怎么才能得到这个提示呢?

有两种方式:

1 、输入任意字符,此时会根据你输入的字符,去过滤参数,再展示。

2 、手动执行 ctrl + i (command + i),这个命令可以基于当前光标位置给出提示建议。

方式 1看起来是最常用的方式,但是有一些心智成本,需要在输入的时候先想一下我应该输入的参数是什么,比如有个参数是taskId,你可能要先想到这个单词,再输入t,不出意外就可以得到这个提示,或者输入id等等,也可以得到这个提示。换个角度看,这种方式属于一种提示后置的逻辑,即需要用户先想到一些提示词,再根据提示词过滤并展示。

方式 2是一种最常规的方式,其他IDE也有类似的快捷键,我不是说这种方式不好哈~ 这种方式其实设计的很合理,因为用户在输入空格的时候是不一定想要编辑器给提示的,所以想要提示的时候使用快捷键去获取也很符合直觉,但是我会觉得还是不太方便,执行快捷键次数少还好,次数多的时候真的还是挺麻烦的,起码对我来说是这样的 hhh ,自动提示在很大程度上可以给我不少幸福感。

目前空格的这种方式我认为也是最合理的一种方式,因为从第一个参数结束到输入第二个参数,中间本来就是需要空格来做隔离,所以即使没有提示,用户也需要输入这个空格,所以,这个空格是必须要输入的一个字符,所以在此时给到下个要输入的提示的话,是最符合习惯的。

另外,除了在添加组件时可以更幸福一些之外,还有就是调用方法时,比如你要发一个请求,参数比较复杂:

可以看到,请求体的内容可以非常舒服的编写完成,再也不需要一次一次执行快捷键啦。

另一个功能就是它可以尝试帮你补全所有必填参数:

其他的功能我暂时没有继续探索,后面我会简单展开一下如何实现的,感兴趣的同学可以继续读下去。

插件安装地址: https://marketplace.visualstudio.com/items?itemName=xicunyang.ts-space-prompt

或者直接在vscode的插件面板搜索: [ Enter Space Give Prompt ] 就可以搜索到啦~

安装后记得要重启一下vscode让该插件生效哈。

插件的github地址: https://github.com/xicunyang/ts-space-prompt

实现思路: https://juejin.cn/post/7290034121011560500

2236 次点击
所在节点    分享创造
9 条回复
K1W1
360 天前
不错,挺好的
showgood163
360 天前
有意思,准备尝试一下
zhiyu1998
359 天前
支持一下
mutou945ya
359 天前
@K1W1 @showgood163 @zhiyu1998
感谢使用~
auh
358 天前
人机交互的一小步,效率提升的一大步。
mutou945ya
358 天前
@auh 哈哈哈哈哈~
mmx12138
357 天前
Codeium
mmx12138
357 天前
Codeium 可以试试这个 免费
mutou945ya
357 天前
@mmx12138

首先谢谢回复哈~ 我解释一下,目前这个插件并不是接入了任何的 API 来给到的代码提示,仅仅是官方 ts 的类型提示哈~ 只是小小的改进了一下官方 ts 提示机制,丝滑了一点点~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/996349

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX