是否可以有一个考虑我输入长度的片段?
Is it possible to have a snippet that considers the length of my input?
我想为像
这样的评论定义一个片段
//************
//* foo A1 *
//************
在我输入 foo A1
的地方,它会创建一个带有 (6+ len(${1}) 星号等的行 - 这可行吗?如果可行,怎么做?
您可以使用扩展程序 HyperSnips
snippet comment "Comment" A
``rv = '//' + '*'.repeat(t[0].length + 6)``
//* *
``rv = '//' + '*'.repeat(t[0].length + 6)``
endsnippet
虽然我是 HyperSnips 的大力支持者(请参阅
[VSCODE]: Is there a way to insert N times the same characters,
VS Code: how to make a python snippet that after string or expression hitting tab will transform it 和
使用方法),
了解如何仅使用 vscode 中的 built-in 片段功能来执行此操作很有启发意义。这是一个片段,可以做你想做的事:
"Custom Comment": {
"prefix": ["cc2"], // whatever trigger you want, then tab, write your info and tab again
"body": [
"//***${1/./*/g}***",
"//* *",
"//***${1/./*/g}***"
]
},
这只是在您添加的评论的开头添加了 3 个星号,在您添加的评论的结尾添加了 3 个星号,其中的每个字符也被一个星号替换。
我想为像
这样的评论定义一个片段//************
//* foo A1 *
//************
在我输入 foo A1
的地方,它会创建一个带有 (6+ len(${1}) 星号等的行 - 这可行吗?如果可行,怎么做?
您可以使用扩展程序 HyperSnips
snippet comment "Comment" A
``rv = '//' + '*'.repeat(t[0].length + 6)``
//* *
``rv = '//' + '*'.repeat(t[0].length + 6)``
endsnippet
虽然我是 HyperSnips 的大力支持者(请参阅
[VSCODE]: Is there a way to insert N times the same characters,
VS Code: how to make a python snippet that after string or expression hitting tab will transform it 和
了解如何仅使用 vscode 中的 built-in 片段功能来执行此操作很有启发意义。这是一个片段,可以做你想做的事:
"Custom Comment": {
"prefix": ["cc2"], // whatever trigger you want, then tab, write your info and tab again
"body": [
"//***${1/./*/g}***",
"//* *",
"//***${1/./*/g}***"
]
},
这只是在您添加的评论的开头添加了 3 个星号,在您添加的评论的结尾添加了 3 个星号,其中的每个字符也被一个星号替换。