AB
AiBoss站
教程

JoyCode

教程

在 VS Code 与 JetBrains IDE 中配置 JoyCode 并生成代码、单元测试与接口文档

JoyCode 是京东云推出的智能编程助手,可在 VS Code、JetBrains 系列 IDE 与云端 IDE 中使用,提供代码补全、注释驱动代码生成、单元测试生成、接口文档生成与研发问答等能力。本文按准备工作、安装配置、分步操作、完整示例与注意事项的顺序,讲清如何把它接入日常开发流程并跑通一个最小可用例子。

JoyCode 是京东云推出的智能编程助手,面向企业级研发场景,把代码预测补全、注释驱动代码生成、单元测试生成、接口文档生成、代码审查与研发问答等能力打包进开发者已有的工作环境。它适配 VS Code、JetBrains 系列 IDE,也提供云端 IDE 形态,并可与京东云 DevOps 流水线衔接。适合已经在使用上述编辑器、希望在不更换主力工具的前提下引入 AI 辅助的团队,尤其是 Java、Python、JavaScript 技术栈的企业项目。如果你只是想先了解这类工具的整体定位,可以先看站内的 JoyCode 条目,再回到本文按步骤动手。

需要先说明一点:JoyCode 的账号体系与企业云环境绑定,很多能力(私域知识库、CI/CD 集成、自定义审查规则)依赖企业侧配置。因此本文把流程拆成「个人可独立完成的部分」和「需要企业管理员配合的部分」,避免读者卡在权限上。

准备工作

在动手安装之前,先把下面几项确认清楚,能省掉大量返工。

  • 账号:需要一个京东企业账号。个人账号能否直接使用、以及可用的功能范围,取决于所在组织是否已开通服务,具体以官网当前说明为准。
  • 企业云环境参数:如果组织使用私有化或专属云部署,需要向管理员索取环境地址、项目标识等配置项。这些参数在后续的插件配置页里要填。
  • IDE 版本:VS Code 或 JetBrains 系列(IDEA、PyCharm 等)。插件从各自的扩展市场安装,不需要单独下载安装包。
  • 项目可访问性:代码补全与问答会读取当前文件上下文,确认项目中没有不能外发的敏感配置,或提前与安全团队确认数据流向。
  • 语言与框架:官方说明覆盖 Java、Python、JavaScript 等主流语言;微服务场景下对 Spring Cloud、Dubbo 等框架的样板代码生成支持较好。大数据方向涉及 Hive、Spark、Flink。

另外建议提前想清楚要在哪一类任务上先用起来。JoyCode 的能力面比较宽,如果一上来就全开,反而看不出效果。比较稳妥的切入点是「样板代码生成」和「单元测试生成」这两类重复度高、验收标准明确的工作。

操作步骤

路线一:在 VS Code 中安装与配置

第一步,安装扩展。打开 VS Code 的扩展视图,在扩展商店中搜索「JoyCode」,找到对应扩展后点击安装。安装完成后左侧活动栏会出现 JoyCode 图标。

第二步,配置账号与环境。点击左侧的 JoyCode 图标进入面板,使用京东企业账号登录。登录后按提示填写云环境参数——这一步填的就是准备工作里向管理员索取的那组信息。如果组织使用公有云服务,通常登录后即可使用;如果是专属环境,参数填错会表现为功能不可用或请求失败,而不是明确的报错提示,所以填完先做一次简单验证。

第三步,验证补全是否生效。打开项目中的任意源码文件,正常输入代码。JoyCode 会基于上下文给出补全建议,按编辑器默认的接受补全快捷键采纳即可。如果没有任何建议出现,优先检查登录状态与环境参数,而不是怀疑语言支持。

路线二:在 JetBrains 系列 IDE 中安装与配置

第一步,安装插件。打开 Settings → Plugins,在市场中搜索「JoyCode」并安装,安装后按提示重启 IDE。

第二步,配置环境。进入 Settings → Tools → JoyCode,在这里填写企业云环境、项目参数等信息。这一页是 JetBrains 侧的核心配置入口,环境不对时后续所有功能都会失效。

第三步,触发功能。JoyCode 在 JetBrains 中提供快捷键 Alt+J 用于触发 AI 辅助功能;也可以选中代码后通过右键菜单进入 AI 辅助选项。两种入口覆盖的场景略有差别:快捷键更适合在光标处直接发起,右键菜单更适合针对一段选中的代码做处理。

路线三:使用云端 IDE

如果本地环境受限,或者希望团队共用一套开发环境,可以走云端路线。

  1. 访问 JoyCode 官网,使用企业账号登录。
  2. 创建项目,选择项目类型与技术栈,配置开发环境和依赖项。
  3. 在云端 IDE 中开发,AI 辅助能力与本地插件形态基本一致。

云端形态的好处是环境一致、开箱即用;代价是对网络和账号权限的依赖更强,且项目代码需要放在云端环境中。选哪条路线,主要看组织的安全策略和协作方式。

用注释驱动生成代码

这是 JoyCode 最直接的使用方式:在代码中写一行自然语言注释,描述想要的方法行为,然后让工具补全实现。以 Java 为例,输入注释后得到的典型结果如下:

// 输入注释:获取用户订单列表
// JoyCode 自动生成完整方法
public List<Order> getUserOrders(Long userId) {
    return orderRepository.findByUserIdOrderByCreateTimeDesc(userId);
}

注意生成结果依赖上下文:方法名、参数类型、返回类型、以及项目里已有的 Repository 命名习惯,都会影响输出。所以写注释时把「查什么、按什么排序、返回什么」说清楚,比只写「获取订单」得到的结果可用得多。生成后仍然要人工核对——尤其是空值处理、分页边界和异常分支,这些是模型最容易按「理想路径」省略的部分。

生成单元测试

选中一个已有方法或整个类,通过 AI 辅助入口选择生成单元测试。JoyCode 会按项目使用的测试框架产出对应用例,Java 项目对应 JUnit,Python 项目对应 pytest,并支持自动生成 Mock 数据。

生成测试之后不要直接提交。建议按下面的顺序过一遍:

  • 确认 Mock 的对象与真实依赖一致,避免测试通过但实际调用路径不同。
  • 检查断言是否真的验证了业务结果,而不是只断言「不为 null」。
  • 补齐边界用例:空集合、单条记录、异常分支。
  • 跑一次完整测试,确认新增用例不会因为环境依赖而失败。

生成接口文档

对于已有 Controller 或 API 定义的项目,可以让 JoyCode 分析代码结构并生成符合 OpenAPI 规范的接口文档,并支持随代码变更同步更新。这一步的价值在于把「文档与代码脱节」的问题压到最小:文档从代码推导而来,改代码时重新生成即可。

实际使用时要注意,自动生成的文档质量取决于代码本身的规范程度。参数没有校验注解、返回结构不统一、错误码散落在各处,生成出来的文档也会同样松散。如果团队对接口文档有交付要求,建议先把接口层的注解和返回体规范补齐,再让工具生成。

代码审查与研发问答

代码审查功能会检测代码质量、安全漏洞与性能问题,并给出优化建议和修复方案,同时支持配置自定义审查规则。自定义规则这部分需要结合团队规范来定,比如命名约定、日志格式、禁止使用的 API 等。

研发问答则面向「查资料」场景:基于技术文档与开源知识库回答问题,并支持接入私域知识库。私域知识库需要企业侧配置,配置后可以针对内部框架、内部规范提问,这是它区别于通用问答工具的地方。

多模型切换

JoyCode 支持在多种大语言模型之间切换,包括京东自研模型与第三方模型。不同模型在补全速度、生成质量、上下文长度上的表现不同,可以按场景选择:日常补全用响应快的,复杂重构或文档生成用能力强的。具体可选模型清单与切换方式以产品当前版本为准。

一个完整示例

下面用一个最小场景把流程串起来:在一个 Java 微服务项目中,为「订单查询」新增一个接口,并补齐测试与文档。

第一步,确认环境。在 VS Code 中打开项目,点击左侧 JoyCode 图标确认已登录、环境参数已填。在任意 Java 文件中输入几行代码,确认补全建议正常出现。这一步不通过就不要往下走。

第二步,写注释生成方法。在 Service 层新建方法位置,输入描述性注释:

// 根据用户 ID 查询订单列表,按创建时间倒序
public List<Order> getUserOrders(Long userId) {
    return orderRepository.findByUserIdOrderByCreateTimeDesc(userId);
}

核对生成结果:方法签名是否符合项目约定、Repository 方法名是否真实存在、排序字段是否与实体一致。发现 Repository 方法不存在时,用同样的注释方式在 Repository 接口中生成对应声明。

第三步,生成单元测试。选中刚生成的 Service 方法,通过 AI 辅助入口生成 JUnit 测试。检查生成的 Mock 是否覆盖了 Repository 依赖,补充一个「用户无订单」的空集合用例,然后运行测试。

第四步,生成接口文档。在 Controller 层完成接口定义后,触发接口文档生成,得到符合 OpenAPI 规范的描述。核对路径、请求参数、响应结构是否与实际代码一致,把生成结果纳入版本管理。

第五步,走一次代码审查。对本次改动的文件执行代码审查,查看质量与安全提示,按建议修正后重新提交。如果团队配置了自定义审查规则,这一步会额外命中内部规范检查。

整个流程走完,得到的是一个可编译、有测试、有文档的接口改动。这个例子刻意选得小,目的是让每一步的输入输出都清晰可验证;换成微服务样板代码、数据平台 ETL 脚本或遗留系统重构,操作方式是一样的,只是上下文更大、人工核对的工作量更多。

注意事项

  • 生成结果必须人工复核。补全和生成都是基于上下文的概率性输出,业务逻辑、边界条件、异常处理需要开发者自己把关。把生成代码直接合入主干是风险最高的用法。
  • 账号与环境是前置条件。多数功能依赖企业账号登录和正确的云环境参数。功能「没反应」时,先查登录状态和配置页,再查语言支持。
  • 私域知识库与 DevOps 集成需要企业侧开通。这两项不是装上插件就能用的,需要管理员在组织层面配置。个人开发者不必在这上面花时间排查。
  • 快捷键因 IDE 而异。JetBrains 系列使用 Alt+J 触发;VS Code 侧以编辑器默认的补全接受方式为主。如果快捷键与已有插件冲突,需要在 IDE 的快捷键设置中调整。
  • 文档与测试的生成质量取决于代码规范程度。注解缺失、返回结构不统一的项目,生成结果同样松散。先规范接口层,再谈自动化。
  • 价格、配额、可用模型清单、功能开放范围会变化。本文不列具体数字,实际使用前请以官网当前信息为准。
  • 数据流向要提前确认。代码上下文会被发送到服务端处理,涉及敏感信息的项目应先与安全团队确认策略,再决定在哪些仓库启用。