假设我有一个简单的代码块:
if(a===b){
console.log('yay');
}
VSCode 中有没有办法在右括号中添加自动注释,如下所示:
if(a===b){
console.log('yay');
} // close-if-block
我在 IntelliJ Android Studio 的 Dart 插件中看到了这种行为,想知道 VSCode 中是否有类似的东西
假设我有一个简单的代码块:
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
你不能减轻这种情况,我不认为。
另一个需要注意的是,大多数人使用自动关闭括号,这意味着,您只需键入开始符号,并为您填充结束符号,在这种情况下不适用。
另一个需要注意的是,它只是不是范围感知的,这意味着它将是静态文本(不像片段),因此无法了解它是 aclose-if-block
还是 a close-switch-statement
。
简而言之,这种方法会进行一些维护,但是,对于那些不介意的人来说,这是一种本机解决方案。