我用 Vibe Coding 搓了一个 IDEA 插件,复制URI 再也不用手动拼了

痛点:你是不是也在手动拼 URI?

做 Java 后端开发的同学,日常一定绑定了这些操作:

  • 联调接口,需要把 Controller 的完整路径发给前端同事
  • 排查线上问题,要从代码里找到接口的完整 URI,然后去日志平台搜索
  • 写接口文档,一个个复制类上的 @RequestMapping 和方法上的 @GetMapping,手动拼接
  • Feign 调用报错,想快速拿到 FeignClient 声明的完整路径去排查

每次都要做同一件事:眼睛在类注解和方法注解之间来回扫,脑子里拼路径,手动复制粘贴拼接

路径短还好,碰到这种的:

java 复制代码
@RestController
@RequestMapping("/api/v2/business/aggregate")
public class AggregateBusinessController {

    @PostMapping("/queryAggBusinessByUserId")
    public Result<?> queryAggBusinessByUserId(...) { ... }
}

你得复制 /api/v2/business/aggregate,再复制 /queryAggBusinessByUserId,再拼成 /api/v2/business/aggregate/queryAggBusinessByUserId

一次两次没什么,一天几十次就开始烦了。更别提拼错了还要反复排查。

这种重复且易错的操作,就应该交给工具。

解决方案:CopyUtil ------ 一键复制 Spring URI

于是我用 Vibe Coding 的方式,搓了一个 IntelliJ IDEA 插件:CopyUtil

功能很简单也很纯粹:光标放在方法上,右键 → Copy URI,完整路径直接进剪贴板。

支持的场景

1. 标准 Spring MVC Controller

java 复制代码
@RestController
@RequestMapping("/api/users")
public class UserController {

    @GetMapping("/list")
    public List<User> list() { ... }
    // Copy URI → /api/users/list
}

支持类上 @RestController@Controller@RequestMapping 注解,方法上 @GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping@RequestMapping 全家桶。

2. Feign Client 接口

java 复制代码
@FeignClient(name = "user-service", path = "/api/users")
public interface UserClient {

    @GetMapping("queryById")
    User queryById(@RequestParam Long id);
    // Copy URI → /api/users/queryById
}

同时兼容 org.springframework.cloud.openfeignorg.springframework.cloud.netflix.feign 两种包路径(老项目也能用),@FeignClient 有没有 path 属性都支持。

3. 多路径选择

java 复制代码
@PostMapping({"/save", "/add"})
public Result<?> save(...) { ... }

当方法注解声明了多个路径时,会弹出选择对话框,选哪个复制哪个。

4. 快捷键支持

不想右键?直接 Ctrl + Shift + Alt + R(Mac 上是 Cmd + Shift + Alt + R),一步到位。

Vibe Coding 的体验

这个插件从 0 到发布,全程 Vibe Coding,我做的事情就是:

  1. 描述需求:告诉 AI 我要一个右键复制 Spring URI 的 IDEA 插件
  2. 提供反馈:按钮灰了?告诉它"还是灰的"。路径拼错了?把错误信息贴给它
  3. 验证结果:在真实项目里右键试一下,能用就下一个需求

核心代码、PSI 解析、plugin.xml 配置、Gradle 构建,全部由 AI 生成和迭代。

整个过程最大的感受是:Vibe Coding 不是"AI 写完就能用",而是"你提需求 → AI 实现 → 你验证 → 反馈问题 → AI 修复"的循环。 中间那个"灰色按钮"的 bug,来回调了好几轮才搞定,但每一轮的调试方向都是 AI 在推进,我只负责点按钮和说"还是不行"。

这种开发方式特别适合:

  • 你有明确的需求,但对实现技术不熟悉(比如我对 IDEA 插件开发的 PSI API 完全不了解)
  • 项目体量不大,一个人就能验证闭环
  • 你愿意花时间做"测试员",用真实场景反复验证

安装使用

方式一:IDEA 插件市场安装

Settings → Plugins → Marketplace 搜索 CopyUtil,安装重启即可。

方式二:离线安装

  1. Gitee 仓库 下载最新 Release 的 zip 包
  2. Settings → Plugins → ⚙️ → Install Plugin from Disk,选择 zip 文件
  3. 重启 IDEA

最后

一个小插件,解决一个小痛点。

如果你也受够了手动拼 URI,试试 CopyUtil。

相关推荐
陈随易1 小时前
VSCode的Copilot扩展支持接入DeepSeek,Kimi了!
前端·后端·程序员
我不是外星人2 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
candyTong2 小时前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
Rust研习社5 小时前
组合真的优于继承吗?为什么 Rust 和 Go 都拥抱组合舍弃继承?
后端·rust·编程语言
IT_陈寒5 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
CaffeinePro6 小时前
Pydantic深度使用:数据校验、枚举、ORM映射
后端·fastapi
Chenyiax6 小时前
从 Chat 到 Responses:OpenAI API 抽象为什么变了?
后端
MariaH6 小时前
Koa和Express的区别
后端
MariaH6 小时前
Koa框架的使用
后端
luckdewei8 小时前
那个用 passlib 做认证的新同事,上线第一天就把用户密码写进了日志
后端