WebStorm提交代码时含撇号的单引号被自动转双引号如何解决
WebStorm自动转换带撇号单引号字符串的解决办法
你遇到的改动实际包含两步转换:一是将直撇号'转换为弯撇号’,二是因为弯撇号无需转义,IDE自动替换了外层包裹的引号,所以你之前配置的「始终使用单引号」规则没有覆盖到这个场景,按下面步骤排查修改即可:
关闭提交时的自动修正选项
提交代码时弹出的提交窗口中,找到
Before Commit区域,取消勾选以下两个选项:- Reformat code(重新格式化代码)
- Cleanup code(清理代码)
如果项目配置了自定义预提交钩子(如ESLint、Prettier钩子),也要同步检查对应工具的引号转换规则。
禁用智能弯引号替换功能
这是导致该问题的核心原因,弯引号替换不属于普通标点的单双引号配置范围,需要单独关闭:
打开路径 Preferences -> Editor -> General -> Smart Keys,找到「Smart Quotes」配置组,取消JavaScript/TypeScript对应的「Use smart quotes」勾选即可。检查项目格式化工具配置
如果项目接入了Prettier、ESLint等格式化工具:
- 确认Prettier配置中
singleQuote设为true,无prettier-plugin-smart-quotes这类自动转换弯引号的插件 - 确认ESLint的
quotes规则配置为单引号,且没有开启自动转换弯引号的相关规则
- 确认Prettier配置中
修改完成后重启WebStorm,重新测试提交带撇号的单引号字符串,确认不会被自动转换即可。
内容的提问来源于stack exchange,提问作者Ursule Maffo
相关产品推荐
相关产品推荐

