vscode在自动填充后失去常规代码提示的问题(连续自动补充失效)

vscode固然非常好用,但是还是毕竟是轻量级的IDE,需要安装很多插件支持,同时进行诸多设置才能达到相对舒适的开发状态。之前在进行代码开发的过程中遇到一个问题,那就是:vscode在配合一些自动填充功能、snippets插件的时候,一旦自动填充后,补全片段出现半透明的白色底,这时候再使用一些已定义的代码片段,无法触发vscode的代码片段机制。需要将光标移除至半透明底区域点击,再又移回来,待那个半透明白色底区域消失后,才可以再次触发编辑时的代码补全。本篇大概记录一下这个问题基本现象以及vscode设置问题的解决思路~

之前在做js开发的时候一致忽略了这个问题,没有深究处理,导致开发效率降低、编码过程不够丝滑~

而如今,在做go相关的开发时也经常遇到同样的问题,这不得不让我重视起来。大概理一下这个问题触发过程:

①第一次使用代码的补全机制fmt.Printf(),类似于其他语言的print()或者console.log()

第一次使用代码补全

②对于带括号的自动补全,光标往往会自动放置在括号中间,方便进行括号内代码的填写

第一次自动补充后

③此时直接输入之前定义过的字段authorName,可以看到并没有出现任何的二次补全提示,按理说这个应该是代码片段最基本的提示补全功能,此时也失效了。

第二次自动补全失效

④将光标撤离默认的填充区域

将光标撤离默认区域

⑤再次将鼠标移动到填充区域,输入要填充的内容的前几个字母,会发现自动补充功能回复正常了~

自动补充效果

可以说这个现象还是比较反人类的,这个现象的一些要素就是:

触发条件:第一次使用代码补全功能,且光标落在了自动补全的默认区域形成了灰色背景区域

触发现象:连续(第二次)自动补充和基本的代码提示功能失效

恢复措施:光标离开默认区域,将编码状态重置为第一次自动补充,而非第二次自动补充(连续自动补充)

找准了这3点,那就是看看设置中有哪些对应的参数可以修改,因为vscode中绝大多数异常或者额外的功能都是可以通过setting解决的~

好在setting界面提供了搜索功能,从前面的3点中可以看出,这个现象和代码补充、代码片段有关系,如果大家熟悉vscode插件的话,肯定就会知道各种语言、框架的snippet插件。

Code snippet (代码片段)在vscode中指的是基于IDE支持的利用快捷方式快速输入一小段,或者称之为一整块代码的功能,在日常编程,特别是在工作中写内容相似的业务代码时,利用snippet功能,可以极大加快编程效率

因此关键词,就是snippet了,在setting中搜索后的结果就是这样,可以看到整体分为,文本编辑器扩展,其实就可以理解为vscode 自带的、通用的自己下载的第三方插件,既然无法连续自动补充这个问题普遍存在的话,我们就着重看下文本编辑器里面的。可以看到第三个设置控制活动代码段是否阻止快速建议,和我们前面分析的现象非常一致,这里是阻止了活动代码的快速建议。

vscode设置界面

我们将√取消掉,再次尝试,发现一切就正常了,在首次自动补充后,vscode认为这里是活动代码片段,此时仍然可以进行自动补充(快速建议):

自动补充效果

至此这个问题就算是解决了,这里还有一点需要注意的就是,不同语言、不同环境,并不是只要这样设置了就一定可以二次填充,而是基于现有的功能。

如果本身没有或者不支持某种快速提示功能(例如对于vue,需要下载vetur),那么这样设置也是无效的,需要再拓展中下载相关的snippet插件~

  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlexGeek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值