要关闭pycharm输入左括号后自动添加右括号的行为,需进入settings → editor → general → smart keys,取消勾选“insert pair bracket”“insert pair quote”及可能存在的“insert pair parentheses”,点击apply立即生效;该功能独立于code completion,误关后者无效。

PyCharm 默认会在输入函数名、类名或某些符号(如 (、[、{)后自动补全右括号/右引号/右花括号,这个行为叫 auto-insert pair(自动配对插入),不是代码补全(Code Completion)本身,而是属于 Parentheses/Brackets/Quotes auto-insertion 功能。
它和补全弹窗无关,关掉 Autopopup code completion 不会影响这个行为;单独关掉它也不会影响补全建议。
怎么关掉输入左括号后自动加右括号?
关键设置在 Editor → General → Smart Keys,不是 Code Completion 页面。
- 打开
Settings(Windows/Linux)或Preferences(macOS) - 进入
Editor → General → Smart Keys - 找到以下三项,全部取消勾选:
-
Insert pair bracket(对应( )、[ ]、{ }) -
Insert pair quote(对应" "、' '、` `) -
Insert pair parentheses(部分版本中此项独立存在,与上一条重复,但需一并检查)
-
- 点击
Apply,无需重启,立即生效
注意:取消勾选后,你仍可手动按 Ctrl+Shift+Enter(Windows/Linux)或 Cmd+Shift+Enter(macOS)来补全当前语句的括号/引号——这是“补全语句”动作,和自动配对无关。
为什么关了 Smart Keys 还有括号自动出现?
常见干扰源有三个:
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
-
Live Templates:比如输入for+Tab会展开带括号的 for 循环模板。这不是自动配对,而是模板触发。要去Editor → Live Templates里禁用或修改对应模板。 -
Postfix Completion:比如输入.null后按Tab会生成== null,某些 postfix 模板内部含括号。可在Editor → General → Postfix Completion中关闭不需要的项。 -
AI Assistant / Copilot 插件:它们可能在光标后“预测式插入”整行代码(含括号)。右下角插件图标点开 →Disable Completions,或直接禁用插件。
这些功能彼此独立,只关 Smart Keys 不够。
关掉后写 lambda 或函数调用还缺括号怎么办?
这是预期行为:关掉后,print|(光标在 print 后)不再自动变成 print(|),你需要自己敲 (。
但以下情况仍保留括号补全:
- 输入
def+Enter:这是代码模板,受Live Templates控制 - 输入
if+Space:同上,是模板,不是自动配对 - 按
Ctrl+Space触发补全后选择函数:补全结果自带括号(这是补全引擎行为,和配对无关)
也就是说:Smart Keys 控制的是“键入左符号时即时插入右符号”,而补全引擎控制的是“从列表选中后插入带括号的完整片段”。
关掉自动加括号最常被忽略的点,是误以为它藏在 Code Completion 设置里。其实它在 Smart Keys,而且要同时关掉括号、引号、花括号三类配对——漏一项,就还会跳出来。










