VsCode启用右括号自动跳过(自动重写) - 自录制gif演示

VsCode启用右括号自动跳过(自动重写) - 自录制gif演示

前言

不知道大家在编程时候的按键习惯是怎样的。输入完左括号后编辑器一般会自动补全右括号,输入完左括号的内容后,是按跳过右括号还是按)跳过右括号呢?

1
2
3
for (int i = 0; i < a.si)

光标在这里的时候

我的习惯是按)。这样编辑器(VsCode)不会再输出一个)出来变成两个),而是会字节跳过右边的)并把光标移动到)的后面。

skipped

暂且把不会出现两个)的现象称为“右括号自动跳过”,其实它的官方名是autoClosingOvertype

让人“火大”的事情出现了

正常情况下行云流水,for循环丝毫不犹豫一气呵成,输入一个)完美!

但要是括号里的内容没有一气呵成呢?括号里内容写了一半,去括号外修改了点东西,回来继续写括号里的内容,写完再输入一个),就会发现变成了两个)!!!原有的)没有被跳过(或重写)!

然后我还需要按delete键把原有的)删掉。是可忍,孰不可忍!优化之!

skipped-failed

如何解决

Ctrl + Shift + P,输入settings.json回车,添加一个"editor.autoClosingOvertype": "always"就可以了。

或者直接左下角齿轮-设置-搜索autoClosingOvertype-修改为always也是一样的。

这样,不论鼠标中途到过哪些地方,只要按)的时候光标下一个字符是),就会自动跳过之。

skipped-okAgain

这样,就能任意切光标位置啦:

skipped-always

如何选择

假设你有很多的左右括号不匹配的需求,可能出现很多的()))))之类的,可以选择将editor.autoClosingOvertype设置为autonever

如果像我一样编程较多,几乎()都会配对出现,建议修改为always

End

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源


VsCode启用右括号自动跳过(自动重写) - 自录制gif演示
https://blog.letmefly.xyz/2025/03/25/Other-VsCode-StartAutoClosingOvertype/
作者
发布于
2025年3月25日
许可协议