至少有这两个选项:
"Console_Log_Test": {
"prefix": "clg",
"body": [
"//Debugging (remove)",
"console.log('Line #${1:${TM_LINE_NUMBER}}');"
// "console.log('Line #${TM_LINE_NUMBER}');"
]
}
至少选择了行号,您可以自己轻松更改它。
更有趣的是把它做成一个“宏”,它会完全实现你想要的。
-
你需要multi-command extension之类的东西。
-
将上面的sn-p改成:
"Console_Log_Test": {
"prefix": "clg",
"body": [
"console.log('Line #${TM_LINE_NUMBER}');"
]
}
所以现在 sn-p 只打印包含 TM_LINE_NUMBER 的行。
-
在您的用户设置中:
"multiCommand.commands": [
{
"command": "multiCommand.lineNumber",
"sequence": [
{
"command": "type",
"args": {
"text": "//Debugging (remove)\n"
}
},
{
"command": "editor.action.insertSnippet",
"args": {
// "langId": "csharp",
"name": "Console_Log_Test"
}
}
]
}
现在 sn-p 实际上是在您想要的行号上触发的。
-
在您的 keybindings.json 中:
{
"key": "ctrl+alt+l",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.lineNumber" }
},
现在 Ctrl-Alt-L 正是您想做的事情。设置起来有点麻烦,但学习的方法非常强大。
[编辑]
我想知道是否有办法让一些 emmet 数学起作用,而且令人惊讶的是,确实如此。
使用这个sn-p:
"log line number on second line": {
"prefix": "clg",
"body": [
"//Debugging (remove)",
"console.log('Line #${TM_LINE_NUMBER}"
]
},
那个sn-p除了最后的');之外什么都有了
现在这个宏:
{
"command": "multiCommand.lineNumber",
"sequence": [
{
"command": "editor.action.insertSnippet",
"args": {
"name": "log line number on second line"
}
},
"editor.emmet.action.incrementNumberByOne",
{
"command": "type",
"args": {
"text": "');\n"
}
}
]
},
会工作!!行号将加一,然后');\n 将添加到该行的末尾。
您可以使用"editor.emmet.action.evaluateMathExpression" 代替incrementNumberByOne 命令来进行更高级的数学运算。
要将 10 添加到行号,请使用
"console.log('Line #${TM_LINE_NUMBER}+11"
在 sn-p 和 "editor.emmet.action.evaluateMathExpression" 中代替多命令宏中的 "editor.emmet.action.incrementNumberByOne"。