在 VS Code 中,有没有一种方法可以在用右括号 (}) 关闭代码块时自动添加结束注释?
In VS Code, is there a way to automatically add an ending comment when a block of code is closed with a closing bracket (})?
假设我有一个简单的代码块:
if(a===b){
console.log('yay');
}
在 VSCode 中有没有办法像这样在右括号中添加自动评论:
if(a===b){
console.log('yay');
} // close-if-block
我在 IntelliJ Android Studio 的 Dart 插件中看到了这种行为,想知道 VSCode
中是否有类似的东西
是的,但不是真正的用户友好方式。
您可以通过向 keybinds.json
添加参数来重新映射 }
键以附加文本:
{
"key": "shift+]",
"command": "type",
"args": {
"text": "} // end of region"
},
"when": "editorTextFocus"
}
这变得棘手的地方是......好吧,无处不在。
考虑到您不希望对所有可能的语言都使用此方法,显然是纯文本文件,您必须在 when 表达式中为您确实希望它填充的语言添加一些逻辑,这没问题,可行:
{
"key": "shift+]",
"command": "type",
"args": {
"text": "} // end of region"
},
"when": "editorTextFocus && resourceExtname =~ /^\.(?:js|ts)$/"
}
现在,假设您在评论中:
// this is a js comment, } //end of block
我认为你无法缓解这种情况。
另一个警告是,大多数人使用自动闭合括号,这意味着,您只需键入开始符号,结束符号就会为您填充,在这种情况下不适用。
另一个需要注意的是,它只是不具有范围意识,也就是说,它将是静态文本(不像片段)所以无法判断它是 close-if-block
还是 close-switch-statement
,例如。
简而言之,这种方法会有些维护,但是,对于那些不介意的人来说,这是一种本机解决方案。
假设我有一个简单的代码块:
if(a===b){
console.log('yay');
}
在 VSCode 中有没有办法像这样在右括号中添加自动评论:
if(a===b){
console.log('yay');
} // close-if-block
我在 IntelliJ Android Studio 的 Dart 插件中看到了这种行为,想知道 VSCode
中是否有类似的东西是的,但不是真正的用户友好方式。
您可以通过向 keybinds.json
添加参数来重新映射 }
键以附加文本:
{
"key": "shift+]",
"command": "type",
"args": {
"text": "} // end of region"
},
"when": "editorTextFocus"
}
这变得棘手的地方是......好吧,无处不在。
考虑到您不希望对所有可能的语言都使用此方法,显然是纯文本文件,您必须在 when 表达式中为您确实希望它填充的语言添加一些逻辑,这没问题,可行:
{
"key": "shift+]",
"command": "type",
"args": {
"text": "} // end of region"
},
"when": "editorTextFocus && resourceExtname =~ /^\.(?:js|ts)$/"
}
现在,假设您在评论中:
// this is a js comment, } //end of block
我认为你无法缓解这种情况。
另一个警告是,大多数人使用自动闭合括号,这意味着,您只需键入开始符号,结束符号就会为您填充,在这种情况下不适用。
另一个需要注意的是,它只是不具有范围意识,也就是说,它将是静态文本(不像片段)所以无法判断它是 close-if-block
还是 close-switch-statement
,例如。
简而言之,这种方法会有些维护,但是,对于那些不介意的人来说,这是一种本机解决方案。