以 if 为例,全拼输入下,首先 if 触发代码片段补全:
回车后,代码片段被添加:
在空缺处键入 zhw,但没有补全提示:
对比不使用代码片段,直接键入 if () 之后键入 zhw,有补全提示:
这样选择片段的话,实际上还并没有退出"片段模式",按tab键会移动到下一个制表位.
https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax
例如,图上的情况时,按下tab键,光标会移动到大括号里,此时才算退出了"片段模式".此时按tab才会正确的插入\t,输入字符才会正确的触发补全.
在片段模式中不会触发补全,并不是只有中文不行,字母也不行.
这应该是vscode自己的机制,现阶段应该没办法修改.
也许可以考虑提issue给vscode,片段模式中弹出补全应该也是合理的要求.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
刚发现可以通过 ctrl+space 触发补全:
于是我去搜了下vscode的issue
https://github.com/microsoft/vscode/issues/107742
https://github.com/wurstscript/WurstScript/issues/967
提到
就是说:
如果要在这种模式下使用自动补全,就需要放弃tab切换制表位的功能.
如果要使用补全的话, 要么关闭这个设置, 要么使用快捷键手动触发.
尝试了关闭editor.suggest.snippetsPreventQuickSuggestions
, 可行.
这个问题应该已经研究的很清楚了, 所以关闭.
登录 后才可以发表评论