VSCode 中文输入法打出英文标点的解决办法


最近在 VSCode 里敲代码,遇到一个贼郁闷的 Bug:打中文汉字完全正常,但标点符号硬生生全是英文半角的(比如敲中文逗号,出来的是英文逗号 ,)。

最离谱的是,这问题只在 VSCode 里有,系统其他软件(浏览器、微信、Notion)全都是正常的。

排查了一下,主要是以下两个原因,速记两个最快的解决办法。


1. 最常见:误触了输入法快捷键

其实大概率不是配置坏了,而是你在 VSCode 里疯狂按快捷键时,不小心误触了输入法本身的“中英文标点切换”快捷键。因为很多系统会记住每一个应用独立的输入状态,导致你在 VSCode 里被锁死在了英文标点模式。

  • 临时解决办法:在 VSCode 窗口中,按一下快捷键 Ctrl + .(Control + 句号)。这是微软拼音、搜狗等输入法默认的标点切换快捷键,按完标点立刻恢复正常。

  • 注意:使用快捷键 Ctrl + . 只能临时有效,在下次重启 VSCode 或者某些情况下切换窗口后,可能会再次失效。

  • 长期有效的解决办法(以搜狗输入法为例)
    如果想彻底解决这个问题,需要修改输入法设置,将 VSCode 从自动使用英文标点的应用清单中移除。具体步骤如下:

    1. 点击搜狗输入法状态栏图标,选择 「偏好设置」

      偏好设置

    2. 在偏好设置窗口中,选择 「常用」 属性页。

      常用

    3. 找到 「中文下使用英文标点」,点击其下方的 「App 清单」,在列表中找到 VS Code 并将其去掉/删除即可。

      中文下使用英文标点


2. VSCode 底层的 Edit Context 兼容问题

VSCode 较新版本启用了一些实验性的输入法(IME)处理机制,在某些系统下会和输入法发生冲突。

  • 解决办法
    1. Ctrl + ,(Mac 上是 Cmd + ,)打开设置。
    2. 在顶部搜索框输入 Edit Context
    3. 找到 Editor: Experimental Edit Context Enabled,把勾选去掉(设为 false)。
    4. 完全重启一下 VSCode 即可。

3. 顺便排查自动转换插件

顺便看一眼自己有没有装过类似于 Chinese Punctuation to English 或者 Auto Transform Punctuation 之类的插件(有些人在写代码时为了免去中英输入法切换会故意装这个,时间久了容易忘)。

如果有的话,按 Ctrl + Shift + X 打开插件市场,直接把它们禁用或者卸载掉就搞定了。


版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 opcgrow.com !
  文章评论

请先登录以发表评论

登录 / 注册
  目录