VSCode 1.68.1按Tab触发自动补全时未补全配对右大括号
VSCode 1.68.1 Tab触发补全插入大括号无自动配对修复
问题复现条件
- 运行版本:VSCode 1.68.1 稳定版
- 表现差异:
- 直接手动输入
{时,编辑器可正常自动补全配对的},光标自动落在括号中间 - 通过Tab键选中补全列表里的大括号项插入时,仅会插入单个
{,没有对应右括号补全
- 直接手动输入
根因说明
这是1.68版本迭代时引入的逻辑冲突:新版本调整了补全项插入的文本匹配规则,Tab触发插入的snippet类文本默认不会触发内置的括号自动配对检测,属于该版本的已知缺陷,不是个人配置错误。
修复方法
按优先级从高到低测试即可:
调整核心补全配置
按Ctrl+,(Mac系统按Cmd+,)打开设置面板,依次修改以下配置项:- 搜索
editor.autoClosingBrackets,将值从默认的languageDefined改为always - 搜索
editor.suggest.insertMode,将值从replace改为insert - 搜索
editor.suggest.snippetsPreventQuickSuggestions,取消勾选该选项(值设为false)
修改完成后完全重启VSCode测试,绝大多数场景改完就能恢复正常。
- 搜索
手动补全括号配对规则
如果改完上面的配置还有问题,打开settings.json配置文件(按Ctrl+Shift+P调出命令面板,搜索Preferences: Open User Settings (JSON)),添加如下配置:{ "editor.autoClosingBrackets": "always", "editor.suggest.snippetsPreventQuickSuggestions": false, "editor.autoClosingOvertype": "always", "editor.language.brackets": [ ["{", "}"] ] }保存后重启VSCode即可生效。
版本迭代规避
该逻辑bug在1.68.2的小版本补丁中已经被官方修复,直接升级VSCode到1.68.2及以上的稳定版,就能在保留默认配置的情况下解决问题,不想升级的话也可以临时回退到1.67.x版本使用。
内容的提问来源于stack exchange,提问作者Filipe Silva
相关产品推荐
相关产品推荐

