【问题标题】:VS Code : User Snippets : on enter key pressVS Code:用户代码段:按回车键
【发布时间】:2018-03-25 07:47:01
【问题描述】:

我有这个自定义的 php sn-p

    "php": {
    "prefix": "php",
    "body": [
        "<?php $1 ?>"
    ],
    "description": "php tag"
}

我需要做的是,当我在第一个占位符即 $1 处按 Enter 时,它应该添加一个带有适当缩进的新行。

当我输入 php 并按 Tab 键时,它会这样做

<h1><?php | ?></h1>

| 是光标位置。 我需要这个,因为有时我在 html 标签中使用这个标签,所以我希望所有代码都在单行中。

但是当我需要单独的php标签时,像这样

<?php | ?>

然后我按回车键,它应该这样做

<?php
    |
?>

【问题讨论】:

  • 不清楚你想要完成什么。你能在sn-p之后包含你的代码应该是什么样子吗?请编辑您的原始问题。
  • 完成了,请看一下。
  • 所以真正的问题是为什么当你按下回车键时 vscode 没有正确缩进下一行。可能是这个问题,见github.com/Microsoft/vscode/issues/42782。我会密切关注这个问题,直到它得到解决或验证,只需制作两个 sn-ps:你的“内联”一个和 Alex 的“缩进”。
  • 它适用于预定义的 sn-ps,如 while() {here when I hit enter} 它很好。我们不能对用户 sn-ps 做同样的事情吗?

标签: visual-studio-code code-snippets


【解决方案1】:
"body": [
    "<?php",
    "\t$1",
    "?>"
]

【讨论】:

  • 谢谢,但我已经这样做了。我说当我按回车时它应该这样做。
【解决方案2】:

此正文"body": [ "&lt;?php ${1} ?&gt;" ] 将在选项卡上显示&lt;?php | ?&gt;,然后按回车将如下所示

<?php 
| ?>

【讨论】:

    【解决方案3】:

    这是我用于 div 的内容,看起来它可能对您有所帮助。不必按 Enter 键来展开标签,它们已经展开了。我不知道如何让它一起开始并仅在您按 Enter 时展开,但这可能会对您有所帮助,所以我将其留在这里:

    "wrapper div - expanded": {
        "prefix": "dd",
        "body": [
            "<div class='$1'>",
            "  $2",
            "</div>"
        ],
        "description": "creates an expanded div"
    }
    

    如果您想获得更多控制权,您可以轻松创建第二个未展开的 sn-p,并为其赋予不同的前缀(一个 d 代表折叠的 div,两个 d 代表展开的 div)。

    "wrapper div - collapsed": {
        "prefix": "d",
        "body": [
            "<div class='$1'>$2</div>"
        ],
        "description": "creates a collapsed div"
    }
    

    【讨论】:

    • 显然,在你的情况下,使用 php 标签而不是 div 哈哈
    猜你喜欢
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多