Visual studio code 删除vscode代码段转换中的尾随逗号 我想要什么

Visual studio code 删除vscode代码段转换中的尾随逗号 我想要什么,visual-studio-code,vscode-snippets,Visual Studio Code,Vscode Snippets,我试图改变这一点: foo awehorihawolvbahvierwba3485y089726y216 bar :aw]\e[;r\a32[5a94t8g-09po 为此: foo, bar 问题 我目前的解决方案是删除“垃圾”并用逗号替换: $1 ${1/(\\w+).*/$1,/gm} 但是,这会留下一个尾随逗号,我发现每次删除尾随逗号都很烦人 foo, bar, 我试过的 接受原始想法,并将其嵌入此转换中 ${<insert transform here>/,$//

我试图改变这一点:

foo awehorihawolvbahvierwba3485y089726y216
bar :aw]\e[;r\a32[5a94t8g-09po
为此:

foo,
bar
问题 我目前的解决方案是删除“垃圾”并用逗号替换:

$1

${1/(\\w+).*/$1,/gm}
但是,这会留下一个尾随逗号,我发现每次删除尾随逗号都很烦人

foo,
bar,
我试过的 接受原始想法,并将其嵌入此转换中

${<insert transform here>/,$//}

... like this ...

${${1/(\\w+).*/$1,/gm}/,$//}
${/,$/}
... 这样地。。。
${${1/(\\w+).*/$1,/gm}/,$/}

您似乎在触发代码片段,然后将文本粘贴到其中,因为您只使用
$1
作为输入。如果不是这样,请让我们知道,可能很容易为选择修改此选项,等等

这将有助于:

    "add a comma only if": {
        "prefix": ["py"],           // whatever prefix you want
        "body": [
            "${1/(\\w+).*(?=$(\r?\n)?)/$1${2:+,}/gm}"
            // "${1/(\\w+).*$(\r?\n)?/$1${2:+,\n}/gm}"  // this also works
        ]
    },

它适用于任意数量的输入行,在每个输入行的末尾加逗号,最后一行除外

(?=$(\r?\n)?)
换行的正向前瞻,如果是,则在组2中捕获
${2:+,}
如果是组2,请添加逗号


谢谢!这太完美了:)我希望我能投1000张赞成票,这样可以节省我很多时间,有一天你可以;>}我在上面加了一点简化。如果在条件转换中加入换行符,则实际上不需要积极的前瞻。事实上也差不多。