在 Rider 中编写 Java 代码时,搭配通义灵码使用自动补全括号,你是否遇到过括号重复成对的情况?比如输入 System.out.println( 后,却出现了 System.out.println(|););,光标后面多出一个多余的括号。问题并非出在通义灵码本身,而是 Rider 自带的自动括号补全与灵码的补全文本产生了叠加效应。
要解决这个问题,需要从 Rider 的设置入手,关闭 IDE 层面的自动插入圆括号功能。

关闭 Rider 自动插入圆括号
打开 Rider 设置:File → Settings(Windows/Linux)或 Rider → Preferences(macOS)。
在设置搜索框中输入「code completion」,进入 Editor → General → Code Completion 页面。
找到「Insert parentheses for method calls and constructors」选项,将其下拉值改为 【None】。
这一步是前提——Rider 自身会在方法调用后主动插入一对圆括号,如果开启此功能,通义灵码再智能也无法阻止第二对括号的出现。关闭后,括号的补全将完全交由灵码控制。
验证通义灵码括号行为是否正常
如何判断设置是否生效?建议进行一个简单测试:新建一个 Java 类,输入 System.out.println 后停顿约半秒,观察补全建议是否以 System.out.println( ) 形式呈现——只有一对括号,且光标位于中间。按 Tab 接受补全后,结果应为 System.out.println(|);(竖线表示光标位置),而不是 System.out.println(|););。
如果仍然出现双括号,说明上一步的设置未成功生效,建议重启 Rider 后再次尝试。
补充:其他符号的智能匹配控制
除了圆括号,你可能还需要对花括号 { } 或方括号 [ ] 进行自动配对控制。Rider 提供了两种方式:
方法一:在同一个设置页(Editor → General → Code Completion)中直接关闭「Auto-insert matching brace/bracket/parenthesis」开关。这样做会禁用所有符号的自动配对。
方法二:如果你希望保留花括号和方括号的自动匹配,仅关闭圆括号的配对,则保持上方开关开启,然后点击右侧的「Configure」,取消勾选 【Parentheses ( )】 即可。这样花括号和方括号仍会自动补全。
这一点必须明确:Rider 的括号自动补全与通义灵码没有直接联动。所有符号配对逻辑均由 Rider 本地控制,灵码仅负责提供包含括号的补全文本内容。关闭 Rider 自身的圆括号自动插入后,通义灵码的补全行为自然会恢复正常。
