在 VS Code 中处于代码片段模式时,如何仅使用 Tab 键移动占位符而不接受建议

问题描述 投票:0回答:1

假设我有这个示例片段

  "Sample HTML A snippet": {
    "prefix": "htmla",
    "body": [
      "<a href=\"${1:urlhere}\">${2:Text To Appear}</a>"
    ],
    "description": "Sample HTML A snippet"
  },

当我输入“htmla”时,它就会启动

如果我碰巧再次输入“htmla”,因为我想要确切的文本,然后按 {Tab} 键,我会在片段中得到一个片段。

避免这种情况的唯一方法是仔细观察我输入的单词是否会产生片段建议,然后按 {ESC} 键将其关闭。

如何使用 {Tab} 键直接在占位符之间移动,而不需要额外的步骤。

即防止片段中的片段?

这就是当您连续输入“htmla{tab}”键时会发生的情况

<a href="<a href="<a href="<a href="urlhere">Text To Appear</a>">Text To Appear</a>">Text To Appear</a>">Text To Appear</a>
visual-studio-code code-snippets
1个回答
0
投票

如果问题是您已经在片段模式下获得快速建议,您可以采取解决方法,关闭快速建议功能打开的建议小部件,您可以通过按 escape 来完成。不太理想,但它会帮助你。从技术上讲,这意味着“放弃”解决方案,即禁用快速建议(请参阅

editor.quickSuggestions
设置),但我假设您不想这样做。

我可以重现这种行为,这很有趣,因为至少对于您在片段模式下接受片段建议的具体情况,从定义默认

{ "key": "tab", "command": "insertSnippet", "when": "editorTextFocus && hasSnippetCompletions && !editorTabMovesFocus && !inSnippetMode" },
键绑定的方式来看,在我看来就像 VS Code想要你想要的行为。但是,当我使用
 命令选项板 
中的
© www.soinside.com 2019 - 2024. All rights reserved.