VSCode 代码段 (Hypersnips) 选项卡停止嵌套使用代码段

VSCode snippets (Hypersnips) tab stops in nested use of snippets

提问人:D.R 提问时间:10/30/2022 最后编辑:ilyasbbuD.R 更新时间:11/3/2022 访问量:393

问:

我正在使用 VSCode Hypersnips(基于 Vi 的 https://github.com/SirVer/ultisnips),遵循本指南。另请参阅 Create-Snippets-For-Ultisnips

请看以下示例:我有一个代码段

snippet fm "inline Math" wA
\(${1}\) $0
end snippet

和另一个片段

snippet ( "parenthesis" wiA
($1) $0
end snippet

如果我要键入 ,那么这将产生 ,其中第一个是我的光标所在位置,第二个是如果我按 .现在,当我按预期输入时,但是当我再次按下(希望使用代码段的制表位)时,我没有像我想要的那样向右移动,而是将制表符(即 2 个空格)放置在光标所在的位置。fm\(|\) |||<Tab>fm ( hi <Tab>\((hi) |\)<Tab>$0fm\)

我想知道我是否可以像这样嵌套代码段,并且在退出内部代码段后仍然使用外部代码段的制表位。

我假设如果我使用本机 VSCode 片段,也会出现同样的问题。

StackOverflow 通知我,有人问过类似的问题:Atom - 带有制表位错误的嵌套片段,但不是关于 VSCode 的片段。

visual-studio-code 代码片段 vscode-snippets

评论


答:

0赞 D.R 10/31/2022 #1

这似乎是已知问题:https://github.com/draivin/hsnips/issues/78。以下是 2021 年 12 月 2 日的问题摘要:

所以,我调查了一下,占位符消失是由 我们目前用于解决 VsCodeVim 问题的解决方法。

历史时间:

我们开始使用解决方法来解决这个问题 触发器 A 让我处于可视模式,我希望它让我进入插入模式 模式改为#28。

据推测,VSCodeVim中的相关问题已修复 这里的 Snippet 无法正常工作 VSCodeVim/Vim#5240。

我不确定 如果它从未得到正确修复,或者发生了回归,但它 似乎问题仍然存在(请参阅意外输入的视觉对象 代码段 VSCodeVim/Vim#7068 中的模式),因此虽然该问题仍然存在 打开时,我们无法删除解决方法并修复此错误。

目前,https://github.com/draivin/hsnips/issues/126 提供了我认为最好的解决方案,即使用 VSCode Neovim。