广告位招商中 欢迎洽谈

在 IDE 中使用 Amazon Q Developer:实时代码补全、自动化安全扫描与遗留代码升级迁移指南

365Finds Editorial
已收录 11,430 篇 Wiki 文章

让你的 AI 用上 365 Wiki

复制这段快捷提示词,粘贴到你正在使用的 AI 对话中,然后继续提问。AI 会搜索 365 Wiki,帮你查资料、比较方案并给出建议。

下载完整 Skill

偶尔使用,快捷提示词就够了。经常使用,安装 365Wiki Skill:无需每次复制,还能更完整地研究问题、比较选择并规划下一步。没有常用工具?Gemini、Microsoft Copilot 等网页版 AI 也能使用。

365Wiki Skill

在现代软件开发中,工程师常被三类高耗时任务缠身:编写样板代码与重复逻辑、部署前才在流水线中被动排查安全缺陷,以及被困在旧版运行环境中的大型遗留项目升级。Amazon Q Developer 作为构建于 Amazon Bedrock 之上的生成式 AI 辅助开发工具,深度嵌入到 Visual Studio Code、JetBrains 全家桶(如 IntelliJ IDEA、PyCharm)以及 Visual Studio 2022 等主流集成开发环境(IDE)中,为软件工程团队提供贯穿生命周期的核心支持。

通过官方扩展插件,Amazon Q Developer 提供了三大支柱级能力:

  1. 实时行内上下文代码补全与对话式开发:根据代码语义和自然语言注释实时推测后续语法,自动生成完整函数,并通过 /dev 跨多文件执行特性开发。
  2. 基于安全规则库的自动化漏洞扫描:依托 Amazon CodeGuru 探测器库,在 IDE 内定位 SQL 注入、硬编码凭证、XSS 等安全漏洞,并在“问题(Problems)”面板中直接提供一键修复补丁。
  3. 遗留代码自动化迁移转换(Code Transformation):依托智能体机制自动将 Java 8 或 11 升级至 Java 17 或 21,或者现代化改造 .NET 应用,在本地完成构建和单元测试验证。

本指南深入讲解如何在主流 IDE 中配置 Amazon Q Developer,掌握各项核心特性的操作流,并评估个人免费版与企业专业版的技术取舍与合规策略。


1. 环境准备与 IDE 鉴权配置

Amazon Q Developer 覆盖了主流的开发工具生态。在进行代码生成或安全扫描之前,首先需确保本地开发环境满足版本要求并完成身份认证。

兼容环境要求

IDE 环境最低支持版本插件安装途径
Visual Studio Code1.85.0 及以上VS Code Marketplace 搜索安装 "Amazon Q" 扩展
JetBrains IDEs(IntelliJ IDEA、PyCharm 等)2024.3 及以上JetBrains Marketplace 搜索安装 "Amazon Q" 插件
Visual Studio(仅限 Windows)2022 v17.7 及以上插件市场搜索安装 "AWS Toolkit for Visual Studio 2022"
Eclipse2024-06 (4.32) 及以上Eclipse Marketplace 搜索安装 "Amazon Q" 插件

身份认证模式:免费版(Free Tier)与专业版(Pro Tier)

安装插件后,点击 IDE 侧边栏的 Amazon Q 图标进行身份认证。系统提供两种截然不同的凭证通道:

[!NOTE] 生命周期公告: AWS 官方已明确,当前基于各大 IDE 的 Amazon Q Developer 插件将于 2027 年 4 月 30 日终止支持。AWS 官方建议团队关注路线图更新,并可评估面向下一代 Agent 架构、Model Context Protocol (MCP) 与对话体验的工具演进方向(如 Kiro)。


2. 实时代码补全与上下文对话开发

在 IDE 内部,Amazon Q Developer 提供了两层生成式编程交互:随键盘输入自动呈现的行内预测,以及侧边栏会话与行内快捷编辑。

实时行内代码补全(Inline Suggestions)

当工程师编写代码或输入自然语言注释时,Amazon Q 会综合光标上下文、当前文件依赖导入以及临近文件语义,在光标后以灰色斜体虚影呈现推测代码。

常用快捷键对照表

操作指令macOS 快捷键Windows / Linux 快捷键
采纳全部推荐代码TabTab
仅采纳下一个词Cmd + 方向右键Ctrl + 方向右键
切换至下一条备选建议方向右键(或 Option + ])方向右键(或 Alt + ])
切换至上一条备选建议方向左键(或 Option + [)方向左键(或 Alt + [)
拒绝 / 放弃当前建议Esc 或直接继续键入Esc 或直接继续键入
手动强制触发建议Option + CAlt + C

实战代码生成示例

在编写 Python 异步网络请求工具时,只需写出带有规范类型提示的函数头与清晰 Docstring 注释,Amazon Q 即可一次性生成健壮的异常重试机制:

import aiohttp
import asyncio
from typing import Dict, Any, Optional

# 借助行内提示让 Amazon Q Developer 生成逻辑:
async def fetch_json_with_retry(
    url: str, 
    headers: Optional[Dict[str, str]] = None, 
    max_retries: int = 3, 
    backoff_factor: float = 1.5
) -> Optional[Dict[str, Any]]:
    """
    Fetch JSON payload from a remote endpoint with exponential backoff retry.
    Handles client connection timeouts and non-200 HTTP responses.
    """
    # 按 Tab 键直接接受 Amazon Q 补全的代码块:
    timeout = aiohttp.ClientTimeout(total=10)
    for attempt in range(1, max_retries + 1):
        try:
            async with aiohttp.ClientSession(timeout=timeout) as session:
                async with session.get(url, headers=headers) as response:
                    if response.status == 200:
                        return await response.json()
                    elif response.status in (429, 500, 502, 503, 504):
                        await asyncio.sleep(backoff_factor ** attempt)
                    else:
                        response.raise_for_status()
        except (aiohttp.ClientError, asyncio.TimeoutError):
            if attempt == max_retries:
                raise
            await asyncio.sleep(backoff_factor ** attempt)
    return None

对话面板与行内快捷编辑

面对更复杂的算法重构或模块设计,工程师可以呼出 Amazon Q 交互面板:

开源代码追踪与参考标识(Reference Tracker)

当 Amazon Q 生成的代码片段与公有开源训练数据高度相似时,内置的 Reference Tracker 会主动提示预警。系统会在通知或侧边栏中标注源仓库链接及开源许可协议(例如 MIT、Apache 2.0、GPL 等)。在企业专业版中,管理员可在云端控制台设置策略,强制阻断与公共代码库重合的建议,确保企业代码资产的法务合规。


3. 自动化安全漏洞排查与一键修复

传统的静态代码安全分析(SAST)往往滞后于流水线打包环节,导致开发人员需要频繁回溯上下文。Amazon Q Developer 将安全检查直接前置到了 IDE 编码阶段。

检测范围与底层能力

Amazon Q 的安全扫描由 Amazon CodeGuru 探测器库提供支持,结合生成式大语言模型与基于确定性规则的自动推理引擎,重点扫描以下高危场景:

执行安全扫描的操作步骤

工程师可选用两种扫描机制:

  1. 自动实时排查(Auto-Scan): 在插件设置中启用后,文件保存时即可后台无感分析。
  2. 主动全项目 / 单文件扫描:
    • 在 VS Code 或 JetBrains 中打开待测工作区。
    • 点击 IDE 底部状态栏的 Amazon Q 图标,或在对话面板中调出命令。
    • 选择 Run Security Scan(或在聊天框输入“对当前工作区运行安全审查”)。
    • 插件将打包项目代码(单次扫描支持上限通常为 100 MB,自动忽略测试目录和三方依赖二进制),并在后台执行分析。

审查安全问题与应用补丁

扫描完成后,所有安全隐患将聚合至 IDE 原生的 “问题(Problems)” 窗口中,并按照通用弱点评估体系(CVSS)标定严重等级:Critical(严重)、High(高危)、Medium(中危)、Low(低危)、Info(提示)。

[Problems - 根目录]
└── src/api/user_controller.py
    └── [High] 第 42 行: CWE-89 - 拼接用户输入导致潜在 SQL 注入缺陷

点击具体条目后,Amazon Q 侧边栏将同步展开诊断详情:

  1. 风险机理剖析: 详细说明未过滤的外部传参如何抵达执行引擎。
  2. CWE 归类标准: 明确对应的 MITRE CWE 编号。
  3. 修复补丁(Suggested Remediation): 给出使用预编译参数化查询或 ORM 映射替换字符串拼接的代码改动建议。
  4. 一键修复落盘: 点击 Apply Fix 或 Insert at cursor,修改直接应用到当前文件中,再次保存即可即时复验消除警告。

4. 遗留系统改造:Java 跨版本迁移与现代化工作流

在大型系统维护中,跨越语言主版本升级(如 Java 8 迈向 Java 17/21)向来充满风险与枯燥的体力劳动。Amazon Q Developer 代码转换智能体(Agent for Code Transformation) 能够接管依赖冲突解决、废弃 API 重写与本地回归测试全流程。

支持的升级链路与技术栈

源码起始版本目标升级版本支持的项目构建体系
Java 8Java 17、Java 21Apache Maven(v3.8 及以上)
Java 11Java 17、Java 21Apache Maven(v3.8 及以上)
Java 17Java 17(依赖翻新)、Java 21Apache Maven(v3.8 及以上)
Java 21Java 21(依赖库日常维护升级)Apache Maven(v3.8 及以上)
.NET Framework(Windows).NET 8(跨平台 Linux 迁移)MSBuild / Visual Studio

执行 Java 升级的前置条件

在触发代码升级前,必须满足以下本地工程规范:

代码迁移标准流水线

代码转换过程包含从本地预检到云端改造、再到本地双重校验的闭环:

flowchart TD
    A["1. 发起任务 (/transform)"] --> B["2. 本地 Maven 预编译验证"]
    B --> C["3. 加密上传至隔离转换沙箱"]
    C --> D["4. AI 分析 AST 语法树并批量重构"]
    D --> E["5. 目标 JDK 编译并运行已有单测"]
    E --> F["6. 下载补丁包至 .aws/transform"]
    F --> G["7. IDE 内双栏 Diff 审查并合并"]

第一步:在 IDE 中触发升级

在 VS Code 或 IntelliJ IDEA 的 Amazon Q 对话框中,输入快捷指令:

/transform

或者从工具栏选择 Amazon Q: Code Transformation 面板。在交互向导中选择目标模块,并设定希望升级到的目标运行环境(例如 Java 17 或 Java 21)。

第二步:本地预检构建

Amazon Q 会自动拉起本地 Maven 工具,验证项目结构完整性并提取抽象语法树(AST)。如果源码在当前 JDK 下本身存在编译错误,任务会就地中断并提示阻断原因,避免无意义的云端资源消耗。

第三步:安全传输与自动化重构

预检通过后,代码构件在端到端加密状态下传输至专用的隔离计算沙箱中,由迁移智能体执行分阶段重构:

第四步:目标版本编译验证与单测回归

智能体在目标 JDK 环境下启动编译,并严格运行工程既有的单元测试。如果由于方法签名改变引发编译错误,智能体会展开多轮自主纠错修复,直到代码编译成功并通过所有测试。

第五步:在 IDE 中审查差异并提交

迁移完毕后,系统将差异补丁与摘要报告下载至项目根目录下的 .aws/transform 目录中:


5. 架构与版本选型:Free 免费版对比 Pro 专业版

在推进团队规范化落地时,技术主管需要从权限管控、成本预算与用量配额多维度评估版本取舍:

评估维度个人免费版(AWS Builder ID)企业专业版($19 / 人 / 月)
登录身份体系个人 AWS Builder ID(免 AWS 账户)AWS IAM Identity Center(企业 SSO:Okta、Entra ID 等)
行内代码实时补全包含(无额度上限)包含(无额度上限)
IDE 会话问答与代码解释包含(无额度上限)包含(无额度上限)
安全漏洞扫描与修复包含(标准项目扫描)包含(支持企业规则配置与自动化实时审查)
复杂智能体开发任务(/dev)每人每月 50 次请求每人每月 400 次请求(按组织账户池化共享)
代码跨版本迁移(/transform)每月 1,000 行代码(体验级配额)每人每月 4,000 行代码(按组织账户池化共享)
代码迁移超额计费不支持超额扩展(达到上限即止)超额部分按每行 $0.003 计费
数据隐私与模型训练政策用户生成内容可能用于服务优化(可自主关闭)明确承诺绝不使用客户数据训练底层基础模型
知识产权保护(IP Indemnification)不包含侵权补偿包含完整的版权侵权赔偿承诺
企业集中管控与报表无集中控制台提供 AWS 管理控制台、统计面板与许可证过滤规则

6. 生产落地最佳实践与决策准则

为避免引入技术债务并保障研发流程的稳健性,建议团队在日常实践中遵循以下原则:


参考资料