Qoder只有在项目完成仓库级索引、状态显示为【Online + Indexed】后,并且你在正确的上下文位置(如Controller类声明下方)输入自然语言需求,才能根据当前工程结构自动补全符合Spring Boot或FastAPI风格、包路径、DTO目录以及统一返回规范的接口代码。

想让Qoder准确根据项目结构补全接口代码,重点并不是让它生搬硬套一套通用模板,而是要让它充分理解当前项目的真实组织方式:目录结构如何划分、接口规范如何定义、模块之间如何调用,然后再据此生成贴合现有代码风格的Controller、Service层和DTO代码。简单来说,Qoder需要先判断你当前使用的是Spring Boot还是FastAPI,项目中是否启用了Swagger注解,DTO是否统一放在dto子包下,以及Controller是否继承了统一基类,这样生成的代码才更准确。
确认项目已完成仓库级索引
Qoder的接口代码补全能力,完全建立在它对整个项目结构的理解之上。如果你只是打开单个文件,或者还没有等待索引完成,那么补全结果往往会退化成基于语法的猜测,无法正确识别@RestController命名习惯,或者ResponseEntity这类项目特定的返回类型。
你可以在IDE右下角状态栏查看Qoder图标旁的状态是否显示【Online + Indexed】;如果只显示Online,就说明仓库索引还没完成,这时触发AI补全大概率无法生成符合项目结构的代码。
首次打开大型项目时,完整索引通常需要1–3分钟。等待期间你可以继续编写代码,但不建议立刻使用AI补全功能。
在正确位置输入自然语言需求
光标必须放在能够让Qoder明确识别上下文的位置。比如常见场景是在controller包中新建的UserAdminController.ja va文件顶部空白区域,或者放在现有类public class UserAdminController extends BaseController {这一行下方的空白处,这样系统才能更精准地判断当前文件所属模块、包结构和继承关系。
你可以直接输入自然语言需求,例如:
“实现用户列表分页查询,支持按用户名模糊搜索,返回UserVO列表,需校验登录态”
注意:不要把需求写在方法体内部、注释块中或import语句之后——否则Qoder很难正确关联当前模块的包路径、父类定义以及已有依赖。
触发并筛选补全建议
按下快捷键即可触发补全:
macOS:⌥+P|Windows:Alt+P
Qoder会结合以下项目信息生成接口补全建议:
• 当前文件所在包路径(如com.example.admin.controller)
• 项目中已存在的VO类(扫描vo或dto目录)
• 统一响应包装类(如Result)
• 权限校验注解(如@RequiresPermissions("user:list"))
• 分页工具类(如PageUtil.of())
如果出现多条补全建议,可以使用⌥+[ / Alt+[向上切换,⌥+] / Alt+]向下切换,从中选择语义和业务场景最匹配的一条。
接受补全并验证上下文一致性
第一步:按Tab插入整段生成代码,Qoder通常会自动补全完整的方法体,包括参数绑定、服务层调用、分页封装以及异常处理分支。
第二步:检查生成的代码是否真正复用了项目现有组件——例如调用的是userService.listByPage(),而不是userMapper.selectList();返回类型是否符合项目规范,使用的是Result而不是ResponseEntity。
第三步:如果发现DTO名称不正确(如生成了UserDto,但项目实际使用的是UserQueryReq),应立即撤销(Ctrl+Z),回到需求描述所在位置,补充更明确的限定条件:“DTO类名为UserQueryReq,位于com.example.admin.dto包下”,然后再重新触发补全。
