【问题标题】:vscode: how to make text after snippet *not* selected?vscode:如何在片段*未*选择后制作文本?
【发布时间】:2021-02-09 10:47:00
【问题描述】:

当触发 sn-p(对于任何语言)并且光标移动到制表位时,该区域被“选中”(也就是说,您仍处于“sn-p 模式”,您可以转到另一个制表位)。但我想摆脱这种“sn-p 模式”(例如,在制表位后没有选择区域),因为它抑制了智能感知(触发 sn-p 后的选定区域接受任何东西,所以它不再建议intellisense函数、变量等。在vscode中是否有设置在sn-p触发后禁用这个“选择”?

【问题讨论】:

  • 禁用设置Editor > Suggest: Snippets Prevent Quick Suggestions

标签: visual-studio-code intellisense vscode-settings vscode-snippets


【解决方案1】:

我不相信这是可能的。

片段通常有诸如${1:name} 之类的占位符来指示该制表位中的预期内容。

以这个为例:

"JS arrow function": {
    "prefix": "af",
    "body": [
        "const ${1:name} = (${2:props}) => {",
        "\t$3",
        "}"
    ],
    "description": "Create arrow function"
}

使用制表符将在 $1、$2 和 $3 之间循环,对于 $1 和 $2 有一个占位符。

如果需要,您可以省略占位符:

"JS arrow function2": {
    "prefix": "af2",
    "body": [
        "const $1 = ($2) => {",
        "\t$3",
        "}"
    ],
    "description": "Create arrow function"
}

但在您按下 Escape 之前,智能感知将无法工作。

如果您希望自定义 sn-ps 并避免使用占位符,您可以全局或按语言添加自己的 sn-ps。

请参阅此link 了解更多信息。

【讨论】:

  • 我的意思只是一个占位符,然后退出(不按退出 -> 在第一个选项卡后退出 snippet mode。这不可能吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多