在 IntelliJ IDEA 或 VS Code 中运行代码时,控制台突然出现大段红色异常堆栈,面对“NullPointerException”却不知哪个对象为空,是增加判空还是调整调用顺序?此时,通义灵码可以直接解析报错上下文,定位根本原因并生成可执行的修复代码,免去手动查阅日志、猜测位置、反复尝试的麻烦。

用右键一键修复完整堆栈
在 IntelliJ IDEA 的「Run」或「Debug」窗口中,用鼠标从 Exception in thread "main" 开始拖选,一直拉到 at com.example.UserServiceImpl.login:123 那一行,确保包含所有 Caused by 嵌套段落。然后右键 → 选择「通义灵码一键修复」。操作很简单,就是把报错文本直接喂给灵码,它会立刻解析出错误类型、触发位置、上下文依赖,并生成可执行的修复建议。
如果没看到这个菜单项,先确认:当前文件已保存、项目已正确加载、通义灵码插件处于启用状态,且没有被其他插件拦截右键事件。
必须选中完整堆栈——只选一行“NullPointerException”会导致 AI 无法关联到具体代码行,结果可能变成通用解释。
在智能问答框里精准提问
方法一:点击 IDE 右下角灵码图标 → 打开智能问答窗口 → 粘贴报错日志全文,开头加指令符 @error。
方法二:选中抛出异常的那一行代码(比如 user.getAddress().getCity())→ 按 Alt+P → 在弹出框里输入“为什么报这个错”,回车发送。
必须包含堆栈中的具体类名和行号,例如 UserAuthServiceImpl.ja va:434,否则灵码无法准确定位到工程内真实代码位置,很可能返回通用解释而非你的实际问题。
让灵码自动抓取实时错误上下文
第一步:确保你正在编辑引发报错的源文件。
第二步:在该文件中任意位置按下 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(macOS)。
第三步:在弹出的命令面板中选择「通义灵码 → 分析当前错误上下文」。
第四步:等待几秒,灵码会自动读取编译器/运行时最新一次报错,并关联当前文件、调用栈、pom.xml 或 build.gradle 依赖信息,生成带根因标注的分析报告。
这一步不需要手动复制任何内容——灵码会主动从 IDE 底层 API 拉取实时错误快照,比粘贴日志更可靠。尤其适用于编译期警告、类型推导失败、注解处理器异常等不输出完整堆栈的场景。
修复后验证是否生效
点击 IDE 顶部 ▶️ 运行按钮,重新执行程序。观察控制台输出——如果不再抛出原异常,且逻辑结果符合预期(比如返回默认值而非崩溃),说明修复成功。
在原报错行附近设置断点,以 Debug 模式再次运行,检查关键变量(如 user、user.getAddress())的实际值是否与修复方案一致。
注意:Apply Fix 会直接覆写本地代码,操作前确保已提交 Git 或做好备份。
