廣告位招商中 歡迎洽談

在 IDE 中使用 Amazon Q Developer:即時程式碼生成、自動化安全弱點掃描與舊版程式碼升級遷移指南

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

讓你的 AI 用上 365 Wiki

複製下方的提示詞,貼給你常用的 AI,然後直接提問。

下載完整版 Skill

先用提示詞體驗;經常使用時,安裝完整版 365Wiki Skill,以後無需重複複製。沒有常用 AI?Gemini、Microsoft Copilot 等網頁版也可以。

365Wiki Skill

在現代軟體工程實務中,開發團隊經常面臨三大耗時瓶頸:撰寫樣板程式碼與重複邏輯、在部署前夕才於 CI/CD 管線中被動處理資安弱點,以及受限於老舊語言版本的大型專案升級困境。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):藉由代理人(Agent)機制自動將 Java 8 或 11 升級至 Java 17 或 21,或現代化遷移 .NET 應用程式,並在本地端執行建置與單元測試以驗證相容性。

本指南詳細說明如何在主流 IDE 中安裝與配置 Amazon Q Developer,深入解析各核心功能於日常工作流程的具體操作,並評估個人免費版與企業專業版的技術取捨與合規原則。


1. 環境準備與 IDE 驗證設定

Amazon Q Developer 支援多個主流開發工具生態系。在開始進行程式碼生成或資安掃描前,應先確保本地端環境符合版本相容性並完成身分認證。

支援的 IDE 環境

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 建議開發者持續追蹤官方藍圖動態,並評估轉向 Kiro 等具備 Model Context Protocol (MCP) 與新一代代理架構的開發輔助工具。


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 非同步 HTTP 公用程式時,只要定義清楚具型別標記的函式簽章與 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 會主動跳出通知,列出開源專案儲存庫 URL 與授權條款(如 MIT、Apache 2.0、GPL 等)。在企業專業版環境下,管理者可於主控台設定強制原則,阻斷與公開開源專案吻合的建議,以維護企業智慧財產權合規。


3. 自動化安全弱點掃描與一鍵修復

傳統靜態應用程式安全測試(SAST)常排定於 CI/CD 後段,導致工程師在撰寫程式碼數小時甚至數天後才需回溯修正。Amazon Q Developer 將資安防線推展至 IDE 編程階段。

掃描範圍與核心檢測引擎

安全分析結合了生成式 AI 推理與由 Amazon CodeGuru 探測器庫驅動的規則推理引擎,全面涵蓋以下高風險面向:

執行安全掃描操作流程

工程師可運用兩種模式發動掃描:

  1. 自動背景掃描(Auto-Scan): 於 IDE 設定中開啟後,每當儲存檔案時便自動在背景執行輕量分析。
  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. 架構與版本評估:免費版與專業版差異比較

在規劃團隊導入時,架構主管需全面評估身分認證、預算成本與用量限制:

評估維度個人免費版(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. 企業實務最佳實踐與決策要點

為確保導入過程兼顧工程生產力與系統穩定性,建議遵循以下實務方針:


參考資料