Moderne Softwareentwicklungsteams stehen regelmäßig vor drei wesentlichen Hürden: dem zeitraubenden Verfassen von Boilerplate-Code, spät im Bereitstellungsprozess entdeckten Sicherheitslücken und schwer wartbaren Altsystemen auf veralteten Laufzeitumgebungen. Amazon Q Developer, ein auf Amazon Bedrock basierender generativer KI-Assistent, lässt sich direkt in führende integrierte Entwicklungsumgebungen (IDEs) wie Visual Studio Code, JetBrains IDEs (einschließlich IntelliJ IDEA und PyCharm) sowie Visual Studio 2022 integrieren, um Entwickler über den gesamten Lebenszyklus hinweg zu unterstützen.
Über offizielle Erweiterungen stellt Amazon Q Developer drei zentrale technische Kernfunktionen bereit:
- Echtzeit-Inline-Codegenerierung und kontextbezogene Chat-Unterstützung: Ergänzt Syntax fließend während der Eingabe, generiert vollständige Funktionen anhand von Kommentaren und setzt über
/devdateiübergreifende Feature-Entwicklungen um. - Automatisierte Sicherheits-Scans auf Basis von Regelbibliotheken: Nutzt die Amazon CodeGuru Detector Library zur Erkennung von SQL-Injections, hartcodierten Anmeldedaten und XSS direkt im „Problems“-Bereich der IDE und stellt Ein-Klick-Reparatur-Patches bereit.
- Automatisierte Legacy-Code-Transformation (Code Transformation): Ein autonomer Transformationsagent aktualisiert Java-Laufzeiten (z. B. von Java 8 oder 11 auf Java 17 oder 21) oder modernisiert .NET-Anwendungen unter Einsatz lokaler Builds und automatisierter Komponententests.
Dieser Leitfaden erläutert die Installation, Authentifizierung, tägliche Nutzung aller Kernwerkzeuge sowie die architektonischen und lizenzrechtlichen Unterschiede zwischen dem kostenlosen Free-Tarif und dem Pro-Tarif für Unternehmen.
1. Voraussetzungen und IDE-Authentifizierung
Amazon Q Developer unterstützt weitverbreitete Entwicklungsumgebungen. Vor der Nutzung müssen die Systemvoraussetzungen geprüft und die Authentifizierung eingerichtet werden.
Unterstützte IDE-Umgebungen
| IDE-Umgebung | Mindestversion | Bezugsquelle der Erweiterung |
|---|---|---|
| Visual Studio Code | 1.85.0 oder höher | VS Code Marketplace: Erweiterung „Amazon Q“ |
| JetBrains IDEs (IntelliJ IDEA, PyCharm etc.) | 2024.3 oder höher | JetBrains Marketplace: Plugin „Amazon Q“ |
| Visual Studio (nur Windows) | Visual Studio 2022 v17.7 oder höher | Marketplace: „AWS Toolkit for Visual Studio 2022“ |
| Eclipse | 2024-06 (4.32) oder höher | Eclipse Marketplace: Plugin „Amazon Q“ |
Authentifizierungsmodelle: Free Tier vs. Pro Tier
Nach der Installation wählen Sie das Amazon Q-Symbol in der IDE-Aktivitätsleiste, um sich anzumelden:
- AWS Builder ID (Kostenloses Kontingent): Für Einzelentwickler konzipiert. Es ist weder ein AWS-Konto noch eine Kreditkarte erforderlich. Nach Auswahl von Use for free with AWS Builder ID öffnet sich der Browser zur Anmeldung oder Erstellung einer persönlichen Builder ID. Diese Stufe bietet dauerhaften Zugriff auf Inline-Vervollständigungen, Chat, Sicherheitsüberprüfungen sowie bis zu 50 Agenten-Aufgaben pro Monat.
- IAM Identity Center (Pro-Tarif für Unternehmen - 19 USD/Benutzer/Monat): Für Entwicklungsteams über unternehmensweites Single Sign-On (SSO, z. B. Okta oder Microsoft Entra ID). Wählen Sie Sign in with IAM Identity Center, geben Sie die unternehmenseigene Start-URL (z. B.
https://meine-firma.awsapps.com/start) und die AWS-Region an. Sitzungen bleiben standardmäßig 90 Tage lang aktiv. Der Tarif umfasst zentrale Steuerungskonsolen, IP-Freistellungsgarantien, Anbindung interner Repositories sowie gepoolte monatliche Kontingente für Code-Transformationen und autonome Agenten.
[!NOTE] Hinweis zum Lebenszyklus: AWS hat angekündigt, die Unterstützung für die herkömmlichen Amazon Q Developer IDE-Plugins am 30. April 2027 einzustellen. AWS empfiehlt Entwicklungsteams, künftige Roadmap-Ankündigungen zu verfolgen und Nachfolgelösungen wie Kiro für erweiterte Agenten-Workflows, Model Context Protocol (MCP) und Chat-Funktionen zu evaluieren.
2. Echtzeit-Codegenerierung und kontextbezogene Unterstützung
Amazon Q Developer unterstützt Programmierer über zwei komplementäre Oberflächen: vorausschauende Inline-Vorschläge direkt im Editor sowie interaktive Chats und Slash-Befehle.
Inline-Code-Vervollständigungen (Inline Suggestions)
Während Sie Code schreiben oder Kommentare in natürlicher Sprache verfassen, analysiert Amazon Q die aktive Datei, die Cursorposition, importierte Pakete und den umgebenden Workspace. Empfehlungen werden als hellgrauer Vorschautext direkt an der Schreibmarke eingeblendet.
Wichtige Tastaturkürzel
| Aktion | Tastaturkürzel macOS | Tastaturkürzel Windows / Linux |
|---|---|---|
| Gesamten Vorschlag übernehmen | Tab | Tab |
| Nur das nächste Wort übernehmen | Cmd + Pfeil rechts | Ctrl + Pfeil rechts |
| Nächsten Alternativvorschlag anzeigen | Pfeil rechts (oder Option + ]) | Pfeil rechts (oder Alt + ]) |
| Vorherigen Alternativvorschlag anzeigen | Pfeil links (oder Option + [) | Pfeil links (oder Alt + [) |
| Vorschlag verwerfen | Esc oder Weitertippen | Esc oder Weitertippen |
| Vorschlag manuell anfordern | Option + C | Alt + C |
Praktisches Implementierungsbeispiel
Beim Schreiben einer asynchronen HTTP-Funktion in Python mit präzisen Typdefinitionen und Docstrings erzeugt Amazon Q selbstständig die komplette Wiederholungslogik mit exponentiellem Backoff:
import aiohttp
import asyncio
from typing import Dict, Any, Optional
# Inline-Vorgabe für Amazon Q Developer über Docstring:
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 drücken, um den generierten Block zu übernehmen:
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
IDE-Chatbereich und Inline-Editor-Chat
Für architektonische Analysen oder größere Refactorings steht der Chat zur Verfügung:
- Kontextsteuerung (
@workspaceund Selektionen): Die aktuell geöffnete Datei wird automatisch als Kontext erfasst. Sie können gezielt weitere Dateien anhängen oder Code markieren und Fragen stellen wie: „Erkläre die Zeitkomplexität dieser Methode“ oder „Forme diesen Block in funktionale Stream-Pipelines um“. - Inline-Chat direkt im Editor: Markieren Sie Codezeilen und starten Sie den Inline-Chat. Ein Eingabefeld erscheint direkt über der Auswahl, sodass Sie Parameterprüfungen oder Protokollierungen einfügen lassen können, ohne den Editorfokus zu verlieren.
- Unit-Test-Erstellung (
/test): Markieren Sie eine Methode und rufen Sie/testauf. Amazon Q prüft Randbedingungen, erstellt Mocks und erzeugt Tests für gängige Frameworks wie JUnit 5, pytest oder Jest. - Agentenbasierte Funktionsentwicklung (
/dev): Mit/dev Implementiere eine Rate-Limiting-Middleware mit Redis-Tokenserstellt der Amazon Q Developer Agent einen Ausführungsplan, legt neue Dateien an, passt Routing-Tabellen an und liefert ein Git-Diff zur Freigabe.
Open-Source-Referenzprüfung (Reference Tracker)
Entspricht der generierte Code öffentlich zugänglichen Trainingsdaten, schlägt der integrierte Reference Tracker Alarm. Er weist die URL des Quell-Repositories sowie die Lizenz (z. B. MIT, Apache 2.0 oder GPL) aus. In Pro-Umgebungen können Administratoren Richtlinien aktivieren, die Codeempfehlungen mit Open-Source-Übereinstimmungen automatisch blockieren.
3. Automatisierte Sicherheits-Scans und Ein-Klick-Behebung
Traditionelle statische Sicherheitstests (SAST) greifen oft erst spät in CI/CD-Pipelines. Amazon Q Developer verlagert diese Prüfung direkt in die IDE während der Code-Erstellung.
Prüfumfang und Erkennungs-Engine
Die Analyse kombiniert generative Prüfungen mit regelbasierter automatisierter Logik aus der Amazon CodeGuru Detector Library:
- OWASP Top 10-Schwachstellen: SQL-Injections, Cross-Site Scripting (XSS), XML External Entity (XXE) Injections und unsichere Deserialisierung.
- Verlust von Zugangsdaten: Im Klartext hinterlegte AWS Access Keys, Datenbank-Verbindungszeichenfolgen, private JWT-Signaturschlüssel und Zertifikate.
- Konfigurations- und Systemfehler: Directory Traversal, veraltete Hash-Algorithmen (MD5/SHA1), nicht geschlossene Datenströme und unsichere Datei-Zugriffsrechte.
- Infrastructure as Code (IaC): Sicherheitsmängel in AWS CloudFormation-Vorlagen und AWS CDK-Konstrukten.
Durchführung eines Sicherheits-Scans
Es stehen zwei Arbeitsmodi zur Verfügung:
- Kontinuierlicher Auto-Scan: Nach Aktivierung in den Einstellungen werden geänderte Dateien beim Speichern im Hintergrund geprüft.
- Manueller Projekt- oder Datei-Scan:
- Öffnen Sie das Projekt in VS Code oder JetBrains.
- Klicken Sie auf das Amazon Q-Symbol in der unteren Statusleiste oder öffnen Sie den Chatbereich.
- Wählen Sie Run Security Scan (oder geben Sie im Chat „Führe einen Sicherheits-Scan für dieses Projekt durch“ ein).
- Der Workspace (bis zu 100 MB, Testordner und externe Binärdateien werden automatisch ignoriert) wird verpackt und analysiert.
Befundanalyse und Patch-Anwendung
Gefundene Schwachstellen erscheinen im Standard-Bereich Problems der IDE, klassifiziert nach CVSS-Schweregraden: Critical, High, Medium, Low oder Info.
[Problems - Projektverzeichnis]
└── src/api/user_controller.py
└── [High] Zeile 42: CWE-89 - SQL-Injection durch String-Verkettung festgestellt
Ein Klick auf den Befund öffnet die Diagnoseansicht im Amazon Q-Panel:
- Ursachenanalyse: Erläutert detailliert, wie ungeprüfte Eingaben in die Abfrageausführung gelangen.
- CWE-Klassifizierung: Weist die offizielle MITRE CWE-Kennung aus.
- Vorgeschlagene Korrektur (Suggested Remediation): Zeigt ein Diff zur Umstellung auf parametrisierte SQL-Abfragen oder ORM-Bindungen.
- Ein-Klick-Übernahme: Klicken Sie auf Apply Fix oder Insert at cursor, um die Korrektur direkt in die Datei einzufügen und das Problem beim erneuten Speichern zu beheben.
4. Legacy-Code-Transformation: Java-Upgrades und Modernisierung
Die manuelle Portierung von Altsystemen auf neuere Sprachversionen (etwa von Java 8 oder 11 auf Java 17 oder 21) bindet beträchtliche Entwicklerressourcen. Der Amazon Q Developer Agent for Code Transformation automatisiert die Auflösung von Abhängigkeitskonflikten, die Umschreibung veralteter APIs und die lokale Verifikation.
Unterstützte Migrationspfade
| Ausgangsversion | Unterstützte Zielversion | Build-Werkzeug |
|---|---|---|
| Java 8 | Java 17, Java 21 | Apache Maven (v3.8 oder höher) |
| Java 11 | Java 17, Java 21 | Apache Maven (v3.8 oder höher) |
| Java 17 | Java 17 (Paketaktualisierung), Java 21 | Apache Maven (v3.8 oder höher) |
| Java 21 | Java 21 (Bibliotheks-Wartung) | Apache Maven (v3.8 oder höher) |
| .NET Framework (Windows) | .NET 8 (Plattformübergreifendes Linux) | MSBuild / Visual Studio |
Voraussetzungen für die Java-Code-Transformation
Vor dem Start eines Auftrags müssen folgende lokale Kriterien erfüllt sein:
- Erfolgreicher lokaler Maven-Build: Das Projekt muss sich unter der aktuellen Version fehlerfrei mit
mvn clean compileübersetzen lassen. - Lokale Installation des Ausgangs-JDK: Die passende JDK-Version muss lokal installiert und in der IDE konfiguriert sein (z. B. JDK 8 beim Upgrade eines Java 8-Projekts).
- Netzwerkunabhängige Komponententests: Während der Transformation ausgeführte Unit-Tests dürfen keine aktiven Datenbanken im internen Firmennetzwerk oder nicht gemockte Remotedienste voraussetzen.
- Zeichenkodierung und saubere Plugins: Der Quellcode muss UTF-8-kodiert sein. Build-Konfigurationen sollten keine gemischten Plugins enthalten, die Nicht-Java-Artefakte kompilieren (z. B.
frontend-maven-pluginfür Node.js). - Netzwerkzugriff auf S3: Die Entwicklungsumgebung muss mit den Amazon S3-Endpunkten kommunizieren können, über die Artefakte ausgetauscht werden.
Der Transformations-Workflow im Detail
Die Modernisierung erfolgt in einem geschlossenen, schrittweisen Zyklus:
flowchart TD
A["1. Auftrag starten (/transform)"] --> B["2. Lokale Maven-Vorprüfung"]
B --> C["3. Verschlüsselter Upload in isolierte Sandbox"]
C --> D["4. KI-gestützte AST-Analyse und Refactoring"]
D --> E["5. Kompilierung im Ziel-JDK und Testausführung"]
E --> F["6. Patch-Download nach .aws/transform"]
F --> G["7. Diff-Prüfung in der IDE und Übernahme"]
Schritt 1: Start in der IDE
Geben Sie im Amazon Q-Chatfenster von VS Code oder IntelliJ IDEA folgenden Befehl ein:
/transform
Alternativ öffnen Sie das Menü Amazon Q: Code Transformation. Wählen Sie das gewünschte Modul und das Ziel-JDK aus (Java 17 oder Java 21).
Schritt 2: Lokale Vorabprüfung
Amazon Q startet Maven lokal, prüft die Projektstruktur und erfasst den Abstract Syntax Tree (AST). Treten bereits hier Kompilierfehler auf, bricht der Prozess mit detaillierten Fehlermeldungen ab.
Schritt 3: Sichere Verarbeitung und automatisches Refactoring
Nach erfolgreicher Vorprüfung wird der Code verschlüsselt an eine isolierte AWS-Umgebung übertragen, in der der Agent folgende Schritte abarbeitet:
- Aktualisierung der Abhängigkeiten: Analysiert die
pom.xml, aktualisiert Compiler-Plugins, hebt Framework-Versionen an (z. B. Spring Boot 2.x auf 3.x) und tauscht veraltete Bibliotheken gegen kompatible Versionen aus. - API- und Syntax-Modernisierung: Schreibt entfernte Schnittstellen um (z. B. Migration veralteter JAXB-Aufrufe zu Jakarta EE, Umstellung von
java.util.Dateaufjava.timeund Modernisierung alter Schleifenkonstrukte auf Stream-APIs). - Sicherheitsabgleich: Vergleicht neu eingebundene Bibliotheken mit Schwachstellen-Datenbanken, um das Einschleusen bekannter CVEs zu verhindern.
Schritt 4: Verifikations-Build und Testdurchlauf
Der Agent übersetzt das Projekt unter dem Ziel-JDK und führt die bestehenden Unit-Tests aus. Bei Fehlern aufgrund veränderter Methodensignaturen korrigiert der Agent den Code selbstständig in mehreren Iterationen, bis der Build gelingt und alle Tests erfolgreich durchlaufen.
Schritt 5: Diff-Prüfung und Übernahme
Nach Abschluss werden der zusammenfassende Bericht und die Patch-Dateien im Verzeichnis .aws/transform abgelegt:
- Öffnen Sie Transformation Summary, um die Liste der aktualisierten Bibliotheken und Testergebnisse einzusehen.
- Prüfen Sie die Änderungen Datei für Datei in der zweispaltigen Diff-Ansicht der IDE.
- Klicken Sie auf Accept changes, um die Modifikationen in Ihren lokalen Arbeitszweig zu übernehmen.
5. Tarifvergleich: Free Tier vs. Pro Tier
Bei der Planung des Werkzeugeinsatzes in Entwicklungsteams sollten folgende Aspekte berücksichtigt werden:
| Dimension | Free Tier (AWS Builder ID) | Pro Tier (19 USD / Benutzer / Monat) |
|---|---|---|
| Identitätsverwaltung | Persönliche AWS Builder ID (Kein AWS-Konto nötig) | AWS IAM Identity Center (Unternehmens-SSO: Okta etc.) |
| Inline-Vorschläge | Enthalten (Unbegrenzt) | Enthalten (Unbegrenzt) |
| IDE-Chat und Erklärungen | Enthalten (Unbegrenzt) | Enthalten (Unbegrenzt) |
| Sicherheits-Scans | Enthalten (Standard-Projekt-Scans) | Enthalten (Erweiterte Unternehmensregeln und Auto-Scan) |
Agenten-Aufgaben (/dev) | 50 Anfragen pro Benutzer/Monat | 400 Anfragen pro Benutzer/Monat (Im Konto gepoolt) |
| Code-Transformation | 1.000 Zeilen pro Monat (Testkontingent) | 4.000 Zeilen pro Benutzer/Monat (Im Konto gepoolt) |
| Zusatzkontingent Transformation | Nicht erweiterbar (Strikte Obergrenze) | 0,003 USD pro zusätzlich transformierter Codezeile |
| Datenschutzrichtlinie | Daten können zur Dienstverbesserung dienen (Opt-out) | Kundendaten werden niemals zum Modelltraining verwendet |
| IP-Freistellung | Nicht enthalten | Enthalten (Vollständige Freistellung bei Schutzrechtsverletzungen) |
| Zentrale Verwaltung | Keine zentrale Konsole | AWS Management Console, Nutzungsmetriken, Lizenzfilter |
6. Best Practices und Leitlinien für die Praxis
Um den größtmöglichen Nutzen aus Amazon Q Developer zu ziehen und technische Schulden zu vermeiden, empfehlen sich folgende Leitlinien:
- Robuste Testabdeckung vor der Transformation: Der Transformationsagent überprüft funktionale Parität anhand vorhandener Unit-Tests. Sichern Sie zentrale Geschäftslogiken durch Tests ab, bevor Sie
/transformausführen. - Fachliche Prüfung automatisierter Sicherheits-Patches: Die vorgeschlagenen Patches beheben technische Schwachstellen präzise. Dennoch muss stets geprüft werden, ob domain-spezifische Autorisierungsprüfungen oder Sonderfälle unverändert erhalten bleiben.
- Konkrete und typisierte Inline-Kommentare: Kurze, präzise Kommentare mit Angaben zu Parametern, Rückgabetypen und Randbedingungen liefern deutlich hochwertigere Inline-Ergebnisse als allgemeine Anweisungen.
- Referenzprüfungen in kommerziellen Repositories beachten: Lassen Sie den Reference Tracker aktiv. Sollte vorgeschlagener Code Übereinstimmungen mit restriktiv lizenzierten Projekten (wie GPL) aufweisen, prüfen Sie dies anhand Ihrer internen Compliance-Vorgaben.
- Übergangsphase bis 2027 vorausschauend planen: Angesichts des Support-Endes für klassische IDE-Plugins am 30. April 2027 sollten Teams die AWS-Ankündigungen aufmerksam verfolgen und die Umstellung auf zukunftsfähige Agenten-Plattformen wie Kiro rechtzeitig vorbereiten.
Referenzen
- What is Amazon Q Developer? - Amazon Q Developer
- Using Amazon Q Developer in the IDE - Amazon Q Developer
- Installing the Amazon Q Developer extension or plugin in your IDE - Amazon Q Developer
- Chatting with Amazon Q Developer about code - Amazon Q Developer
- Reviewing code with Amazon Q Developer - Amazon Q Developer
- Starting a code review with Amazon Q Developer - Amazon Q Developer
- Addressing code issues with Amazon Q Developer - Amazon Q Developer
- Upgrading Java versions with Amazon Q Developer - Amazon Q Developer
- Transforming code in the IDE with Amazon Q Developer - Amazon Q Developer
- Tiers of service for Q Developer – Free and Pro - Amazon Q Developer
- AI for Software Development – Amazon Q Developer Pricing – AWS