在 IDEA 里装个 AI 助手:Amazon Q Developer 到底好不好用?

在 IDEA 里装个 AI 助手:Amazon Q Developer 到底好不好用?

写 Java 的都在 IntelliJ IDEA 里泡着,代码补全、重构、调试全靠它。但说实话,自带的补全能力到了 2026 年已经显得有点"传统"了。

Amazon Q Developer 是亚马逊云科技推出的 AI 编程助手,支持 JetBrains 全家桶(IntelliJ IDEA、PyCharm、WebStorm、GoLand 等)。不只是代码补全------内联聊天、漏洞扫描、代理式编码、Java 版本升级,一个插件全包了。

这篇从安装到实际写代码,走一遍真实体验。

安装(3 分钟搞定)

1. 安装插件

IDEA → Settings → Plugins → Marketplace → 搜索 "Amazon Q" → Install

装完重启 IDEA,右侧面板多出一个 Amazon Q 图标。

2. 登录

两种方式:

  • 免费版:用 AWS Builder ID 登录,个人开发者免费用
  • 专业版:用 AWS IAM Identity Center 登录,企业级功能
diff 复制代码
免费版限制:
- 代码补全:每月 1000 次调用
- 聊天:每月 100 条消息
- 安全扫描:每月 50 次

专业版($19/用户/月):
- 不限次数
- 可连接私有代码库做定制化建议
- 企业级安全管控

核心功能实测

1. 代码补全------不止补一行

传统补全:你打个 list.,它给你弹方法列表。

Amazon Q 补全:你写个注释 // 读取 S3 文件并解析 JSON,它直接给你生成完整方法,包括异常处理。

java 复制代码
// 读取 S3 文件并解析 JSON
// ↓ Amazon Q 生成
public JsonNode readS3Json(String bucket, String key) {
    S3Client s3 = S3Client.builder()
        .region(Region.US_EAST_1)
        .build();
    GetObjectRequest request = GetObjectRequest.builder()
        .bucket(bucket)
        .key(key)
        .build();
    try (InputStream stream = s3.getObject(request)) {
        ObjectMapper mapper = new ObjectMapper();
        return mapper.readTree(stream);
    } catch (S3Exception e) {
        log.error("S3 读取失败: {}", e.awsErrorDetails().errorMessage());
        throw new RuntimeException("读取 S3 对象失败", e);
    } catch (IOException e) {
        log.error("JSON 解析失败: {}", e.getMessage());
        throw new RuntimeException("解析 JSON 失败", e);
    }
}

多行代码建议的接受率,Amazon Q 在多个公开基准测试里表现突出。

2. 内联聊天------不用切窗口

选中一段代码,按 Cmd+I(Mac)或 Ctrl+I(Windows),直接在代码旁边弹出对话框:

  • "给这个方法加单元测试"
  • "这段代码有性能问题吗"
  • "重构成 Builder 模式"

不用切到浏览器问 ChatGPT,也不用复制粘贴。

3. 安全扫描------写完就查

右键项目 → Amazon Q → Run Security Scan

扫描结果直接标在代码行上:

sql 复制代码
⚠️ 第 23 行:SQL 注入风险
  建议:使用 PreparedStatement 替代字符串拼接

⚠️ 第 45 行:硬编码密钥
  建议:使用 AWS Secrets Manager 或环境变量

支持 Java、Python、JavaScript、TypeScript、Go、Ruby、Rust 等主流语言。在公开安全基准测试里,Amazon Q 的检测率超过多个领先工具。

4. 代理式编码------说需求它来干

这是亮点功能。在聊天面板里描述任务:

arduino 复制代码
"给 UserService 类添加分页查询功能,
用 DynamoDB 做数据源,
支持 lastKey 翻页"

Amazon Q 会:

  1. 读你项目里的现有代码
  2. 自动创建/修改文件
  3. 生成代码差异(diff)让你确认
  4. 甚至执行 shell 命令(比如跑测试)

SWE-Bench 排行榜上,Amazon Q 的代理式编码得分很高。

5. Java 版本升级------大项目福音

还在 Java 8?Amazon Q 可以帮你升级到 Java 17:

css 复制代码
IDEA → Amazon Q → Transform → 选择目标 Java 版本

亚马逊自己内部用 Amazon Q 升级了超过 30000 个生产应用,平均每个应用几分钟搞定。不是改个 pom.xml 版本号那么简单------它会处理 API 废弃、依赖兼容、语法变更等所有细节。

对比其他 AI 编程工具

功能 Amazon Q Developer 其他方案
代码补全 多行,接受率高 各有表现
内联聊天 支持 部分支持
安全扫描 内置 需额外工具
代理式编码 支持 各有方案
Java 升级 自动化 手动为主
AWS 专长 原生 AWS 知识 通用知识
免费额度 有,个人够用 各不相同

如果你的技术栈是 AWS + Java/Python,Amazon Q Developer 的 AWS 原生知识是核心优势。它理解 DynamoDB 的最佳实践、Lambda 的冷启动优化、IAM 权限配置,不是泛泛而谈。

企业级使用

专业版支持连接私有代码库:

css 复制代码
Settings → Amazon Q → Customizations → 连接 CodeCommit/GitHub 仓库

连接后 Amazon Q 会学习你们的代码风格和内部库,生成的建议更贴合项目实际。同时通过 IAM Identity Center 做权限管控,确保代码不外泄。

和 AWS 控制台联动

Amazon Q 不只在 IDE 里用。登录 AWS 控制台,右下角有个 Amazon Q 面板:

  • "我这个月 Bedrock 花了多少钱"
  • "帮我看看为什么 Lambda 超时了"
  • "推荐一个高可用架构方案"

CLI 里也能用:

bash 复制代码
# 安装 Amazon Q CLI
brew install amazon-q

# 自然语言转 bash
q "查看 us-east-1 所有运行中的 EC2 实例"
# → aws ec2 describe-instances --region us-east-1 --filters "Name=instance-state-name,Values=running"

上手建议

  1. 先装免费版试试:1000 次补全/月,个人学习项目够用
  2. 养成用内联聊天的习惯:比切到浏览器问 AI 快几倍
  3. 安全扫描每次提交前跑一次:早发现早修复
  4. 代理式编码从小任务开始:先让它写单元测试,建立信任后再给大活

Amazon Q Developer:aws.amazon.com/cn/q/develo... JetBrains 插件安装:docs.aws.amazon.com/amazonq/lat... GitHub(amazon-q-jetbrains):github.com/aws/amazon-...

相关推荐
dog25017 小时前
把确定性交给统计-浅析 AWS RNG
云计算·aws
知识浅谈19 小时前
人工智能日报 每日AI新闻(2026年6月2日):OpenAI上AWS、Anthropic递表与AI终端竞赛升温
大数据·人工智能·aws
yyuuuzz2 天前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
代码N年归来仍是新手村成员4 天前
【AWS】Lambda 初识与服务部署
javascript·react.js·ai·node.js·云计算·ai编程·aws
zhojiew5 天前
在AWS裸金属实例上安装Cubesandbox并集成PydanticAI进行数据分析的实践
数据分析·云计算·aws
yyuuuzz5 天前
aws亚马逊云上运维常见问题梳理
运维·服务器·网络·云计算·aws
亚林瓜子6 天前
AWS S3日志桶常用过期文件生命周期策略
云计算·生命周期·aws·s3·过期·glacier
yyuuuzz6 天前
企业出海场景下的技术适配小经验
运维·服务器·网络·云计算·aws
yyuuuzz8 天前
国外云服务使用的常见技术问题梳理
运维·服务器·网络·数据库·aws
光于前裕于后9 天前
AWS Redshift 集成Zero-ETL和数据共享 Data sharing
云计算·etl·aws