

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Chatten mit Amazon Q Developer über Code
<a name="q-in-IDE-chat"></a>

Chatten Sie mit Amazon Q Developer in Ihrer integrierten Entwicklungsumgebung (IDE), um Fragen zur Softwareentwicklung zu stellen AWS und Unterstützung bei der Softwareentwicklung zu erhalten. Amazon Q kann Codierungskonzepte und Codefragmente erklären, Code- und Modultests generieren sowie Code verbessern, einschließlich Debugging oder Faktorwechsel. 

**Topics**
+ [

## Arbeiten mit Amazon Q in Ihrer IDE
](#working-with-q-in-IDE)
+ [

## Beispielaufgaben
](#example-tasks)
+ [

## Beispielfragen
](#example-topics-questions)
+ [

## Melden von Problemen mit Antworten von Amazon Q
](#report-issues)
+ [

# Überprüfen von Code mit Amazon Q Developer
](code-reviews.md)
+ [

# Transformieren von Code in der IDE mit Amazon Q Developer
](transform-in-IDE.md)
+ [

# Erklären und Aktualisieren von Code mit Amazon Q Developer
](explain-update-code.md)
+ [

# Inline-Chatten mit Amazon Q Developer
](q-in-IDE-inline-chat.md)
+ [

# Hinzufügen von Kontext zum Chat von Amazon Q Developer in der IDE
](ide-chat-context.md)
+ [

# Komprimieren des Chatverlaufs in Amazon Q Developer
](ide-chat-history-compaction.md)
+ [

# Anzeigen, Löschen und Exportieren des Konversationsverlaufs von Amazon Q Developer
](ide-chat-conversation.md)
+ [

# Verwenden von Tastenkombinationen im Chat mit Amazon Q Developer
](q-in-ides-chat-shortcuts.md)
+ [

# Auswählen eines Modells für den Amazon-Q-Chat in IDEs
](q-in-ides-chat-models.md)

## Arbeiten mit Amazon Q in Ihrer IDE
<a name="working-with-q-in-IDE"></a>

### Verwenden des Chats
<a name="w2aac11c16b7b3"></a>

 Wenn Sie einen Chat mit Amazon Q beginnen möchten, wählen Sie das Amazon-Q-Symbol in der Navigationsleiste Ihrer IDE aus und geben Sie Ihre Frage in die Textleiste ein. Wenn Sie mit Amazon Q in Visual Studio chatten möchten, wählen Sie im Hauptmenü **Ansicht** und dann **Amazon Q Chat** aus.

Wenn Sie Amazon Q eine Frage stellen, verwendet es als Kontext die aktuelle Datei, die in Ihrer IDE geöffnet ist, einschließlich der Programmiersprache und des Dateipfads. Sie können Ihrer Aufforderung mehr Kontext hinzufügen oder während einer Chat-Sitzung Dateien, Ordner oder Ihren gesamten Workspace als Kontext angeben. Weitere Informationen finden Sie unter [Hinzufügen von Kontext zum Chat](ide-chat-context.md). 

Wenn Amazon Q Code in seiner Antwort bereitstellt, können Sie ihn kopieren oder direkt in Ihre Datei einfügen, indem Sie **Am Cursor einfügen** auswählen. Amazon Q kann in seiner Antwort Inline-Verweise auf seine Quellen einfügen. 

Amazon Q behält den Kontext Ihrer Konversation innerhalb einer bestimmten Sitzung bei und nutzt ihn für künftige Antworten. Sie können während der gesamten Sitzung weitere Fragen stellen oder auf frühere Fragen und Antworten zurückgreifen. Wenn Sie eine neue Konversation mit Amazon Q beginnen möchten, öffnen Sie eine neue Registerkarte im Panel. Sie können höchstens 10 Registerkarten gleichzeitig öffnen. Amazon Q behält den Kontext nicht über verschiedene Konversationen bei. 

#### Chat-Befehle
<a name="chat-commands"></a>

Die folgenden Befehle helfen Ihnen bei der Verwaltung Ihrer Chats mit Amazon Q.
+ **/clear** — Verwenden Sie diesen Befehl, um eine aktuelle Konversation zu löschen. Dadurch wird die bisherige Konversation aus dem Chat-Bereich entfernt und der Kontext, den Amazon Q über Ihre vorherige Konversation beibehalten hat, wird gelöscht. 
+  **/compact** — Verwenden Sie diesen Befehl, um Ihren Chat-Verlauf zu komprimieren, wenn das Kontextfenster seine Kapazitätsgrenze erreicht. Auf diese Weise erhalten Sie eine kurze Zusammenfassung Ihrer Konversation, während wichtige Informationen erhalten bleiben.
+ **/help** — Verwenden Sie diesen Befehl, um eine Übersicht darüber zu erhalten, was Amazon Q kann und was nicht, Beispielfragen und verfügbare Funktionen.

### Agentenprogrammierung
<a name="agentic-coding"></a>

Bei der Agentenprogrammierung fungiert Amazon Q als Ihr Codierungspartner und chattet mit Ihnen während der Entwicklung. Agentic Coding ist in der IDE standardmäßig aktiviert. Sie können die Agentenprogrammierung mit dem Symbol `</>` unten im Chat-Bereich ein- oder ausschalten.

Wenn Sie Amazon Q bitten, Ihren Code zu verbessern, werden Ihre Dateien direkt aktualisiert. Sie können sich die Änderungen in einem Diff ansehen und haben die Möglichkeit, sie rückgängig zu machen.

Während Amazon Q über eine Aufgabe nachdenkt oder daran arbeitet, können Sie weiterhin Anweisungen im Chat-Panel hinzufügen, und Amazon Q wird sie in seine Arbeit integrieren.

Wenn Sie Ihr Projekt mit Amazon Q besprechen, erhalten Sie Vorschläge für Shell-Befehle. Wenn diese Befehle risikoarm eingestuft werden, führt es sie gegebenenfalls eigenständig aus. 

### Chatten in natürlichen Sprachen
<a name="IDE-natural-language-support"></a>

Amazon Q Developer bietet mehrsprachigen Support, wenn Sie in der IDE chatten. Zu den unterstützten natürlichen Sprachen gehören Mandarin, Französisch, Deutsch, Italienisch, Japanisch, Spanisch, Koreanisch, Hindi und Portugiesisch. Weitere Sprachen sind verfügbar. Wenn Sie diese Funktionalität nutzen möchten, können Sie in der IDE eine Konversation mit Amazon Q in Ihrer bevorzugten natürlichen Sprache beginnen. Amazon Q erkennt die Sprache automatisch und gibt Antworten in der entsprechenden Sprache. 

## Beispielaufgaben
<a name="example-tasks"></a>

### Entwickeln von Codefunktionen
<a name="develop-code"></a>

**Anmerkung**  
Diese Funktion wurde in dieser Dokumentation und in der IDE früher als /dev bezeichnet.

Amazon Q kann Ihnen helfen, Codefunktionen zu entwickeln, Codeänderungen an Projekten vorzunehmen und Fragen zu Softwareentwicklungsaufgaben in Ihrer integrierten Entwicklungsumgebung (IDE) zu beantworten. Sie erklären die Aufgabe, die Sie erledigen möchten, und Amazon Q verwendet den Kontext Ihres aktuellen Projekts oder Arbeitsbereichs, um Code zu generieren, den Sie auf Ihre Codebasis anwenden können. Amazon Q kann Ihnen helfen, AWS Projekte oder Ihre eigenen Anwendungen zu erstellen.

### Generierung von Modultests
<a name="unit-tests"></a>

**Anmerkung**  
Diese Funktion wurde in dieser Dokumentation und in der IDE früher als /test bezeichnet.

Amazon Q kann Komponententests generieren, sodass Sie Tests während des gesamten Softwareentwicklungszyklus automatisieren können. Diese Funktion hilft Entwicklern, sich darauf zu konzentrieren, die Funktionsentwicklung zu beschleunigen und gleichzeitig die Codequalität sicherzustellen.

### Dokumentationserstellung
<a name="doc-generation"></a>

**Anmerkung**  
Diese Funktion wurde in dieser Dokumentation und in der IDE früher als /doc bezeichnet.

Amazon Q hilft Ihnen dabei, Ihren Code zu verstehen und die Dokumentation auf dem neuesten Stand zu halten, indem es weitere Dokumentationen für Ihren Code generiert READMEs . Es kann neue Dokumentation erstellen und bestehende Dokumentation in Ihrer Codebasis aktualisieren. 

### Codeüberprüfungen
<a name="review-code"></a>

**Anmerkung**  
Diese Funktion wurde in dieser Dokumentation und in der IDE früher als /review bezeichnet.

Amazon Q kann Ihre Codebasis auf Sicherheitslücken und Probleme mit der Codequalität überprüfen, um den Status Ihrer Anwendungen während des gesamten Entwicklungszyklus zu verbessern. Weitere Informationen zur Verwendung dieser Funktion finden Sie unter[Überprüfen von Code mit Amazon Q Developer](code-reviews.md).

### Transformieren von Code
<a name="transform-code"></a>

Amazon Q kann Ihren Code in integrierten Entwicklungsumgebungen (IDEs) transformieren, indem es automatisierte Upgrades und Konvertierungen auf Sprach- und Betriebssystemebene (OS) durchführt. Sie geben den zu transformierenden Code an und Amazon Q generiert Änderungen, die Sie überprüfen und auf Ihre Dateien anwenden können. Weitere Informationen finden Sie unter [Transformieren von Code](transform-in-IDE.md).

## Beispielfragen
<a name="example-topics-questions"></a>

Darin IDEs kann Amazon Q neben der Codegenerierung auch Fragen AWS-Services zur Softwareentwicklung beantworten. Amazon Q ist besonders nützlich für die Beantwortung von Fragen zu den folgenden Themenbereichen.
+ Darauf aufbauend AWS, einschließlich AWS-Service Auswahl, Beschränkungen und bewährten Verfahren
+ Allgemeine Softwareentwicklungskonzepte, einschließlich Syntax von Programmiersprachen und Anwendungsentwicklung
+ Schreiben von Code, einschließlich der Erläuterung von Code, Debugging von Code und Schreiben von Modultests

Nachfolgend sind einige Beispielfragen aufgeführt, die Sie stellen können, um Amazon Q in Ihrer IDE optimal zu nutzen: 
+ Wie behebe ich Probleme mit meinen Lambda-Funktionen lokal vor der Bereitstellung in AWS?
+ Wie wähle ich zwischen Amazon AWS Lambda EC2 und einem skalierbaren Webanwendungs-Backend? 
+ Wie lautet die Syntax zum Deklarieren einer Variablen in TypeScript?
+ Wie schreibe ich eine App in React?
+ Gib mir eine Beschreibung dessen, was [*dieser ausgewählte Code oder diese Anwendung*] bewirkt und wie es funktioniert. 
+ Generiere Testfälle für [*ausgewählten Code oder Funktion*].

## Melden von Problemen mit Antworten von Amazon Q
<a name="report-issues"></a>

Sie können optional mit den Symbolen „Daumen hoch“ und „Daumen runter“ Feedback zu jeder Antwort hinterlassen, die Amazon Q generiert. Wenn Sie ein Problem mit einer Antwort melden möchten, wählen Sie das Symbol „Daumen runter“ aus und geben Sie Informationen in das angezeigte Feedback-Fenster ein.

# Überprüfen von Code mit Amazon Q Developer
<a name="code-reviews"></a>

Amazon Q Developer kann Ihre Codebasis auf Sicherheitslücken und Probleme mit der Codequalität überprüfen, um den Status Ihrer Anwendungen während des gesamten Entwicklungszyklus zu verbessern. Sie können eine gesamte Codebasis überprüfen, alle Dateien in Ihrem lokalen Projekt oder Workspace analysieren oder eine einzelne Datei überprüfen. Sie können auch auto Überprüfungen aktivieren, die Ihren Code beim Schreiben bewerten.

Überprüfungen basieren sowohl auf generativer KI als auch auf regelbasierter automatischer Argumentation. [Amazon Q-Detektoren](https://docs.aws.amazon.com/codeguru/detector-library) basieren auf jahrelangen AWS und bewährten Sicherheitsmethoden von Amazon.com und unterstützen die regelbasierten Sicherheits- und Qualitätsprüfungen. Wenn die Sicherheitsrichtlinien aktualisiert und Melder hinzugefügt werden, werden in die Bewertungen automatisch neue Melder aufgenommen, um sicherzustellen, dass Ihr Code den meisten Richtlinien entspricht. up-to-date

Informationen IDEs zur Unterstützung dieser Funktion finden Sie unter[Unterstützt IDEs](q-in-IDE.md#supported-ides-features). Informationen zu den unterstützten Sprachen finden Sie unter [Sprachunterstützung für Code-Reviews](q-language-ide-support.md#code-reviews-language-support).

**Topics**
+ [

## Funktionsweise
](#how-code-reviews-work)
+ [

## Arten von Codeproblemen
](#issue-types)
+ [

## Kontingente
](#quotas)
+ [

# Starten einer Codeüberprüfung mit Amazon Q Developer
](start-review.md)
+ [

# Beheben von Codeproblemen mit Amazon Q Developer
](address-code-issues.md)
+ [

# Filtern von Codeproblemen
](filter-code-issues.md)
+ [

# Schweregrad des Codeproblems in den Codeprüfungen von Amazon Q Developer
](code-issue-severity.md)

## Funktionsweise
<a name="how-code-reviews-work"></a>

Während einer Codeüberprüfung bewertet Amazon Q sowohl Ihren benutzerdefinierten Code als auch Bibliotheken von Drittanbietern in Ihrem Code. Vor Beginn einer Codeüberprüfung wendet Amazon Q einen Filter an, um sicherzustellen, dass nur relevanter Code überprüft wird. Im Rahmen des Filterprozesses schließt Amazon Q nicht unterstützte Sprachen, Testcode und Open-Source-Code aus.

Amazon Q kann entweder Ihre letzten Codeänderungen oder eine ganze Datei oder ein ganzes Projekt überprüfen. Um eine Überprüfung einzuleiten, öffnen Sie Ihren Code-Ordner in Ihrer IDE und bitten dann Amazon Q, Ihren Code vom Chat-Panel aus zu überprüfen. 

Wenn Sie Amazon Q einfach bitten, Ihren Code zu überprüfen, werden standardmäßig nur die Codeänderungen in der aktiven Datei in Ihrer IDE überprüft. Codeänderungen werden durch die Ausgabe des `git diff` Befehls in Ihrer Datei bestimmt. Wenn keine Diff-Datei vorhanden ist, überprüft Amazon Q die gesamte Codedatei. Wenn keine Datei geöffnet ist, wird nach Codeänderungen im Projekt gesucht, die überprüft werden sollen. 

Wenn Sie Amazon Q bitten, Ihr gesamtes Projekt oder Ihren gesamten Workspace zu überprüfen, wird Amazon Q ebenfalls zunächst versuchen, Ihre Codeänderungen zu überprüfen. Wenn keine Diff-Datei vorhanden ist, wird Ihre gesamte Codebasis überprüft. 

## Arten von Codeproblemen
<a name="issue-types"></a>

Amazon Q überprüft Ihren Code auf die folgenden Arten von Codeproblemen:
+ **SAST-Scannen – Erkennen Sie Sicherheitslücken in Ihrem Quellcode.** Amazon Q identifiziert verschiedene Sicherheitsprobleme, wie Ressourcenlecks, SQL-Injektion und Cross-Site-Scripting. 
+  **Erkennung von Geheimnissen – Verhindern Sie die Offenlegung sensibler oder vertraulicher Informationen in Ihrem Code.** Amazon Q überprüft Ihren Code und Ihre Textdateien auf Geheimnisse wie hartcodierte Passwörter, Datenbankverbindungszeichenfolgen und Benutzernamen. Zu den gefundenen Geheimnissen gehören Informationen über das ungeschützte Geheimnis und darüber, wie es geschützt werden kann. 
+ **IaC-Probleme – Bewerten Sie den Sicherheitsstatus Ihrer Infrastrukturdateien.** Amazon Q kann Ihre Infrastructure as Code (IaC)-Codedateien überprüfen, um Fehlkonfigurations-, Compliance- und Sicherheitsprobleme zu erkennen. 
+  **Probleme mit der Codequalität – Stellen Sie sicher, dass Ihr Code die Qualitäts-, Wartbarkeits- und Effizienzstandards erfüllt.** Amazon Q generiert Codeprobleme im Zusammenhang mit verschiedenen Qualitätsproblemen, einschließlich, aber nicht beschränkt auf Leistung, Regeln für Machine Learning und bewährte AWS-Methoden.
+  **Risiken bei der Codebereitstellung – Bewerten Sie die Risiken im Zusammenhang mit der Bereitstellung von Code.** Amazon Q ermittelt, ob bei der Bereitstellung oder Veröffentlichung Ihres Codes Risiken bestehen, einschließlich Anwendungsleistung und Betriebsunterbrechung. 
+  **Analyse der Softwarezusammensetzung (SCA) – Evaluieren Sie Code von Drittanbietern.** Amazon Q untersucht Komponenten, Bibliotheken, Frameworks und Abhängigkeiten von Drittanbietern, die in Ihren Code integriert sind, um sicherzustellen, dass der Code von Drittanbietern sicher und aktuell ist. 

Eine vollständige Liste der Detektoren, die Amazon Q zur Überprüfung Ihres Codes verwendet, finden Sie in der [Amazon Q Detector Library](https://docs.aws.amazon.com/codeguru/detector-library/).

## Kontingente
<a name="quotas"></a>

Amazon-Q-Sicherheitsscans behalten die folgenden Kontingente bei:
+ **Größe des Eingabeartefakts** – die maximale Größe aller Dateien in einem IDE-Projekt-Workspace, einschließlich Bibliotheken von Drittanbietern, Build-JAR-Dateien und temporären Dateien
+ **Größe des Quellcodes** – die maximale Größe des Quellcodes, den Amazon Q nach dem Filtern aller Bibliotheken und nicht unterstützten Dateien von Drittanbietern scannt

In der folgenden Tabelle werden die Kontingente für automatische Scans und vollständige Projektscans beschrieben.


| Ressource | Automatische Überprüfungen | Datei- oder Projektüberprüfungen | 
| --- | --- | --- | 
| Größe des Eingabeartefakts | 200 KB | 500 MB | 
| Größe des Quellcodes | 200 KB | 50 MB | 

# Starten einer Codeüberprüfung mit Amazon Q Developer
<a name="start-review"></a>

Amazon Q kann Ihre gesamte Datei oder Codebasis überprüfen oder Ihren Code automatisch überprüfen, während Sie ihn schreiben. 

Bevor Sie beginnen, sollten Sie sicherstellen, dass Sie Amazon Q in einer IDE installiert haben, die Codeüberprüfungen unterstützt. Weitere Informationen finden Sie unter [Installieren der Erweiterung oder des Plugins von Amazon Q Developer in Ihrer IDE](q-in-IDE-setup.md).

**Topics**
+ [

## Überprüfen Sie eine Datei, ein Projekt oder einen Arbeitsbereich
](#project-review)
+ [

## Beispielaufgaben und Eingabeaufforderungen
](#code-review-prompts)
+ [

## Überprüfen beim Programmieren
](#auto-scan)

## Überprüfen Sie eine Datei, ein Projekt oder einen Arbeitsbereich
<a name="project-review"></a>

Sie können vom Chat-Panel aus eine Überprüfung initiieren, damit Amazon Q eine bestimmte Datei oder ein bestimmtes Projekt überprüft. Zu Datei- und Projektüberprüfungen gehören sowohl regelbasierte als auch durch generative KI gestützte Überprüfungen. 

Nachdem Amazon Q eine Überprüfung abgeschlossen hat, können Sie das Problem untersuchen und einen Code zur Behebung des Problems anfordern. Weitere Informationen finden Sie unter [Behebung von Codeproblemen](address-code-issues.md).

Um eine Datei- oder Projektüberprüfung zu starten, führen Sie die folgenden Schritte für Ihre IDE aus:

------
#### [ JetBrains ]

1. Öffnen Sie eine Datei oder ein Projekt, die bzw. das Sie überprüfen möchten, in Ihrer IDE.

1. Wählen Sie das Amazon-Q-Symbol aus, um den Chat-Bereich zu öffnen. 

1. Beschreiben Sie in natürlicher Sprache die Art der Codeüberprüfung, die Sie ausführen möchten. Sie können nur Ihre letzten Codeänderungen oder eine ganze Datei überprüfen. Codeänderungen werden anhand der Ausgabe des Befehls git diff in Ihrer Datei bestimmt. Falls zutreffend, überprüft Amazon Q standardmäßig nur Ihre Codeänderungen, sofern nicht anders angegeben.

1. Wenn Ihr Codeprojekt oder Ihre Datei in der IDE geöffnet ist, können Sie Informationen eingeben wie:

   1. **Review my code changes**— Amazon Q überprüft alle Codeänderungen in Ihrer Codebasis

   1. **Run a code review on this entire file**— Amazon Q überprüft den gesamten Code in Ihrer Datei, nicht nur Änderungen

   1. **Review this repository**— Amazon Q überprüft Ihre gesamte Codebasis, nicht nur Änderungen

   Ausführlichere Szenarien zur Codeüberprüfung und die zugehörigen Eingabeaufforderungen finden Sie unter [Beispielaufforderungen](#code-review-prompts). 

1. Amazon Q beginnt mit der Überprüfung Ihrer Datei oder Ihres Projekts. Sobald der Vorgang abgeschlossen ist, werden die Probleme und Beobachtungen mit der höchsten Priorität zusammengefasst.

1. Wenn Probleme festgestellt wurden, wird der Tab **Codeprobleme** mit einer Liste der Probleme geöffnet, die Amazon Q gefunden hat. 

1. Um mehr über ein Codeproblem zu erfahren, navigieren Sie zum Bereich **Codeprobleme**. Von hier aus können Sie folgende Aufgaben ausführen:

   1. Wählen Sie ein Problem aus, das zu dem bestimmten Bereich der Datei weitergeleitet werden soll, in dem der anfällige oder qualitativ minderwertige Code erkannt wurde.

   1. Wenn Sie eine Erklärung des Codeproblems erhalten möchten, klicken Sie auf das Lupensymbol neben dem Namen des Codeproblems. Amazon Q stellt Ihnen Einzelheiten zu dem Problem zur Verfügung und schlägt eine Lösung vor, die Sie in Ihren Code einfügen können. 

   1. Zum Beheben des Codeproblems wählen Sie das Schraubenschlüsselsymbol neben dem Namen des Codeproblems aus. Amazon Q gibt eine kurze Erläuterung des Fixes und nimmt dann eine direkte Korrektur in Ihrer Codedatei vor. Sie sehen die Codeänderung in Ihrer Datei und haben die Möglichkeit, die Änderung im Chat-Bereich rückgängig zu machen. 

   1. Sie können auch natürliche Sprache verwenden, um weitere Informationen zu einem Problem zu erhalten, eine Erklärung der vorgeschlagenen Lösungen zu erhalten oder nach alternativen Lösungen zu fragen. 

1. Weitere Informationen über den Umgang mit Codeproblemen finden Sie unter [Beheben von Codeproblemen mit Amazon Q Developer](address-code-issues.md). 

------
#### [ Visual-Studio-Code ]

1. Öffnen Sie eine Datei oder ein Projekt, die bzw. das Sie überprüfen möchten, in Ihrer IDE.

1. Wählen Sie das Amazon-Q-Symbol aus, um den Chat-Bereich zu öffnen. 

1. Beschreiben Sie in natürlicher Sprache die Art der Codeüberprüfung, die Sie ausführen möchten. Sie können nur Ihre letzten Codeänderungen oder eine ganze Datei überprüfen. Codeänderungen werden anhand der Ausgabe des Befehls git diff in Ihrer Datei bestimmt. Falls zutreffend, überprüft Amazon Q standardmäßig nur Ihre Codeänderungen, sofern nicht anders angegeben.

1. Wenn Ihr Codeprojekt oder Ihre Datei in der IDE geöffnet ist, können Sie Informationen eingeben wie:

   1. **Review my code changes**— Amazon Q überprüft alle Codeänderungen in Ihrer Codebasis

   1. **Run a code review on this entire file**— Amazon Q überprüft den gesamten Code in Ihrer Datei, nicht nur Änderungen

   1. **Review this repository**— Amazon Q überprüft Ihre gesamte Codebasis, nicht nur Änderungen

   Ausführlichere Szenarien zur Codeüberprüfung und die zugehörigen Eingabeaufforderungen finden Sie unter [Beispielaufforderungen](#code-review-prompts). 

1. Amazon Q beginnt mit der Überprüfung Ihrer Datei oder Ihres Projekts. Sobald der Vorgang abgeschlossen ist, werden die Probleme und Beobachtungen mit der höchsten Priorität zusammengefasst.

1. Wenn Probleme festgestellt wurden, wird der Tab **Codeprobleme** mit einer Liste der Probleme geöffnet, die Amazon Q gefunden hat. 

1. Um mehr über ein Codeproblem zu erfahren, navigieren Sie zum Bereich **Codeprobleme**. Von hier aus können Sie folgende Aufgaben ausführen:

   1. Wählen Sie ein Problem aus, das zu dem bestimmten Bereich der Datei weitergeleitet werden soll, in dem der anfällige oder qualitativ minderwertige Code erkannt wurde.

   1. Wenn Sie eine Erklärung des Codeproblems erhalten möchten, klicken Sie auf das Lupensymbol neben dem Namen des Codeproblems. Amazon Q stellt Ihnen Einzelheiten zu dem Problem zur Verfügung und schlägt eine Lösung vor, die Sie in Ihren Code einfügen können. 

   1. Zum Beheben des Codeproblems wählen Sie das Schraubenschlüsselsymbol neben dem Namen des Codeproblems aus. Amazon Q gibt eine kurze Erläuterung des Fixes und nimmt dann eine direkte Korrektur in Ihrer Codedatei vor. Sie sehen die Codeänderung in Ihrer Datei und haben die Möglichkeit, die Änderung im Chat-Bereich rückgängig zu machen. 

   1. Sie können auch natürliche Sprache verwenden, um weitere Informationen zu einem Problem zu erhalten, eine Erklärung der vorgeschlagenen Lösungen zu erhalten oder nach alternativen Lösungen zu fragen. 

1. Weitere Informationen über den Umgang mit Codeproblemen finden Sie unter [Beheben von Codeproblemen mit Amazon Q Developer](address-code-issues.md). 

------
#### [ Visual Studio ]

1. Öffnen Sie eine Datei aus dem Projekt, das Sie scannen möchten, in Visual Studio.

1. Wählen Sie das Amazon-Q-Symbol unten in Ihrer Datei aus, um die Amazon-Q-Taskleiste zu öffnen.

1. Wählen Sie in der Taskleiste die Option **Sicherheitsscan ausführen** aus. Amazon Q beginnt mit dem Scannen Ihres Projekts. 

   In der folgenden Abbildung wählt der Benutzer in Visual Studio das Symbol von **Amazon Q** aus. Daraufhin wird eine Taskleiste angezeigt, in der der Benutzer **Sicherheitsscan ausführen** auswählen kann.  
![\[Visual Studio mit der Amazon-Q-Taskleiste und der Option „Sicherheitsscan ausführen“\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/VS-scans.png)

1. Der Status Ihres Scans wird im Visual-Studio-Ausgabebereich aktualisiert. Sie werden benachrichtigt, wenn der Scan abgeschlossen ist.

   Weitere Informationen zum Anzeigen und Behandeln von Ergebnissen finden Sie unter [Beheben von Codeproblemen mit Amazon Q Developer](address-code-issues.md).

------

## Beispielaufgaben und Eingabeaufforderungen
<a name="code-review-prompts"></a>

Es gibt mehrere Szenarien, in denen Sie sich möglicherweise befinden, wenn Sie eine Codeüberprüfung einleiten. Im Folgenden finden Sie eine Übersicht über einige Möglichkeiten, eine Codeüberprüfung einzuleiten, und darüber, wie Sie Amazon Q auffordern können, die gewünschte Überprüfung durchzuführen. 
+ Um nur die Codeänderungen für eine einzelne Datei zu überprüfen: 
  + Öffnen Sie die Datei in Ihrer IDE und geben Sie ein **Review my code**
  + Geben Sie **Review the code in <filename>** ein.
+ Um eine gesamte Codedatei zu überprüfen:
  + Öffnen Sie eine Datei ohne Änderungen und geben Sie ein **Review my code**
  + Öffnen Sie eine Datei mit Änderungen und geben Sie ein **Review my entire code file**
  + Geben Sie **Review all the code in <filename>** ein.
+ Um alle Codeänderungen in deinem Repository zu überprüfen:
  + Öffnen Sie das Repository in Ihrer IDE und geben Sie ein **Review my code**
+ Um Ihr gesamtes Repository zu überprüfen, nicht nur die Änderungen:
  + Öffnen Sie das Repository in Ihrer IDE und geben Sie ein **Review my repository**

## Überprüfen beim Programmieren
<a name="auto-scan"></a>

**Anmerkung**  
Automatische Überprüfungen von Amazon Q sind nur mit einem [Amazon Q Developer Pro-Abonnement](getting-started-q-dev.md) verfügbar.

Automatische Überprüfungen sind regelbasierte Prüfungen, die von [Amazon-Q-Detektoren](https://docs.aws.amazon.com/codeguru/detector-library/) unterstützt werden. Amazon Q überprüft automatisch die Datei, in der Sie aktiv programmieren, und generiert Codeprobleme, sobald diese in Ihrem Code erkannt werden. Wenn Amazon Q automatische Überprüfungen durchführt, generiert es keine direkten Codekorrekturen.

Automatische Überprüfungen sind standardmäßig aktiviert, wenn Sie Amazon Q verwenden. Gehen Sie wie folgt vor, um automatische Überprüfungen anzuhalten oder fortzusetzen.

**Anhalten und Fortsetzen automatischer Überprüfungen**

Führen Sie die folgenden Schritte aus, um automatische Überprüfungen anzuhalten.

1. Wählen Sie unten im IDE-Fenster **Amazon Q** aus.

   Die Amazon-Q-Taskleiste wird geöffnet.

1. Wählen Sie **Automatische Überprüfungen anhalten** aus. Wenn Sie automatische Überprüfungen wieder aufnehmen möchten, wählen Sie **Automatische Überprüfungen fortsetzen** aus.

# Beheben von Codeproblemen mit Amazon Q Developer
<a name="address-code-issues"></a>

In den Themen dieses Abschnitts wird erläutert, wie Sie Codeprobleme behandeln, lösen und, falls zutreffend, ignorieren.

**Topics**
+ [

# Beheben von Codeproblemen in JetBrains und Visual Studio Code
](address-issues-jetbrains-visualstudiocode.md)
+ [

# Beheben von Codeproblemen in Visual Studio
](address-issues-visualstudio.md)

# Beheben von Codeproblemen in JetBrains und Visual Studio Code
<a name="address-issues-jetbrains-visualstudiocode"></a>

Zum Beheben eines Codeproblems in JetBrains und Visual Studio Code haben Sie entweder die Möglichkeit, eine direkte Korrektur oder eine Erklärung zu generieren, mit der Sie Ihren Code manuell aktualisieren können. 

Sie können die folgenden Maßnahmen ergreifen: 
+ Generieren einer direkten Codekorrektur 
+ Erläutern des Problems und Abrufen eines neuen Codes
+ Ignorieren des Problems oder aller ähnlichen Probleme

## Generieren von direkten Korrekturen für Ihre Datei
<a name="generate-fixes"></a>

Amazon Q kann Ihre Dateien direkt aktualisieren, um ein erkanntes Codeproblem automatisch zu beheben.

Um ein Codeproblem in Ihrer Datei automatisch zu beheben:

------
#### [ JetBrains ]

1. Wählen Sie im Toolfenster **Probleme** auf der Registerkarte **Amazon Q Code Issues** das Code-Problem aus, das Sie beheben möchten.

1. Ein Fenster mit weiteren Informationen zum Code-Problem wird geöffnet. Falls zutreffend, werden Ihnen Details zum Amazon Q-Detektor angezeigt, der zur Identifizierung des Codeproblems verwendet wurde.

1. Wählen Sie unten im Bedienfeld die Option **Reparieren** aus. 

1. Im Chat-Bereich gibt Amazon Q eine kurze Erläuterung des Fixes und nimmt dann eine direkte Korrektur in Ihrer Codedatei vor.

1. Sie sehen die Codeänderung in Ihrer Datei und haben die Möglichkeit, die Änderung im Chat-Bereich rückgängig zu machen.

------
#### [ Visual-Studio-Code ]

1. Wählen Sie auf der Registerkarte **Code Issues** das Codeproblem aus, das Sie beheben möchten.

1. Wählen Sie das Schraubenschlüsselsymbol.

   Die folgende Abbildung zeigt das Schraubenschlüsselsymbol für ein Codeproblem in Visual Studio Code.  
![\[Das Schraubenschlüsselsymbol für ein Codeproblem inVisual Studio Code, das zur Generierung einer Codekorrektur verwendet wird.\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/code-review-fix-vsc.png)

1. Im Chat-Bereich gibt Amazon Q eine kurze Erläuterung des Fixes und nimmt dann eine direkte Korrektur in Ihrer Codedatei vor.

1. Sie sehen die Codeänderung in Ihrer Datei und haben die Möglichkeit, die Änderung im Chat-Bereich rückgängig zu machen.

------

## Erläutern des Problems und Abrufen eines neuen Codes
<a name="explain-issue"></a>

Amazon Q bietet eine ausführliche Erklärung eines Codeproblems und Optionen zur Problembehebung mit dazugehörigem Code, den Sie Ihren Dateien hinzufügen können.

Um eine Erklärung für ein Codeproblem zu erhalten:

------
#### [ JetBrains IDEs ]

1. Wählen Sie im Toolfenster **Probleme** auf der Registerkarte **Amazon Q Code Issues** das Code-Problem aus, das Sie beheben möchten.

1. Ein Fenster mit weiteren Informationen zum Code-Problem wird geöffnet. Falls zutreffend, werden Ihnen Details zum Amazon Q-Detektor angezeigt, der zur Identifizierung des Codeproblems verwendet wurde.

1. Wählen Sie am unteren Rand des Bedienfelds die Option **Erklären** aus. 

1. Im Chat-Panel bietet Amazon Q Details zu dem Problem und schlägt vor, wie es behoben werden kann, mit Code, den Sie in Ihre Datei einfügen können.

1. Wenn Sie Ihre Datei aktualisieren möchten, folgen Sie den Anweisungen von Amazon Q, wo Sie Code hinzufügen oder ersetzen können, und kopieren Sie den bereitgestellten Code an die richtige Stelle in Ihrer Datei. Achten Sie darauf, den anfälligen Code zu entfernen, wenn Sie den aktualisierten Code hinzufügen.

------
#### [ Visual-Studio-Code ]

1. Wählen Sie auf der Registerkarte **Code Issues** das Codeproblem aus, das Sie beheben möchten.

1. Wählen Sie das Lupensymbol aus.

   Die folgende Abbildung zeigt das Lupensymbol für ein Codeproblem in Visual Studio Code.  
![\[Das Lupensymbol für ein Codeproblem inVisual Studio Code, das zur Erläuterung eines Codeproblems verwendet wird.\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/code-review-view-details-vsc.png)

1. Im Chat-Panel bietet Amazon Q Details zu dem Problem und schlägt vor, wie es behoben werden kann, mit Code, den Sie in Ihre Datei einfügen können.

1. Wenn Sie Ihre Datei aktualisieren möchten, folgen Sie den Anweisungen von Amazon Q, wo Sie Code hinzufügen oder ersetzen können, und kopieren Sie den bereitgestellten Code an die richtige Stelle in Ihrer Datei. Achten Sie darauf, den anfälligen Code zu entfernen, wenn Sie den aktualisierten Code hinzufügen.

------

## Ignorieren eines Codeproblems
<a name="ignore-issues"></a>

Wenn ein erkanntes Codeproblem nicht zutrifft, können Sie wählen, ob Sie nur dieses Problem oder dieses Problem und alle ähnlichen Probleme ignorieren möchten (Probleme mit derselben CWE). Die Probleme werden aus der Registerkarte „Code Issues“ entfernt. 

So ignorieren Sie ein Codeproblem:

------
#### [ JetBrains ]

1. Wählen Sie im Toolfenster **Probleme** auf der Registerkarte **Amazon Q Code Issues** das Code-Problem aus, das Sie ignorieren möchten.

1. Ein Fenster mit weiteren Informationen zum Code-Problem wird geöffnet. Wählen Sie unten im Bedienfeld die Option **Ignorieren** aus. Das Codeproblem wird aus dem Bedienfeld „Codeproblem“ entfernt.

1. Sie können auch „**Alle ignorieren**“ wählen, um dieses und andere Codeprobleme mit derselben CWE zu ignorieren.

------
#### [ Visual-Studio-Code ]

1. Wählen Sie auf der Registerkarte **Codeprobleme** das Codeproblem aus, das Sie ignorieren möchten.

1. Wählen Sie das Symbol „Ignorieren“.

   Die folgende Abbildung zeigt das Symbol Ignorieren für ein Codeproblem in Visual Studio Code.  
![\[Das Ignoriersymbol für ein Codeproblem inVisual Studio Code, wird verwendet, um ein Codeproblem zu ignorieren und zu schließen.\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/code-review-ignore-issue-vsc.png)

1. Das Codeproblem wird aus dem Bereich „Codeproblem“ entfernt.

1. Um ähnliche Probleme zu ignorieren, wählen Sie das Ellipsensymbol und dann die angezeigte Schaltfläche „**Ähnliche Probleme ignorieren**“.

------

# Beheben von Codeproblemen in Visual Studio
<a name="address-issues-visualstudio"></a>

Wenn Sie die von Amazon Q erkannten Codeprobleme in Visual Studio anzeigen möchten, öffnen Sie die **Fehlerliste** in Visual Studio, indem Sie die Überschrift **Ansicht** im Visual-Studio-Hauptmenü erweitern und **Fehlerliste** auswählen.

Sie können die Informationen im Codeproblem verwenden, um Ihren Code zu aktualisieren. Nachdem Sie Ihren Code aktualisiert haben, überprüfen Sie ihn erneut, um festzustellen, ob die Probleme behoben wurden.

In der **Fehlerliste** von Visual Studio werden standardmäßig alle Warnungen und Fehler für Ihre Codebasis angezeigt. Wenn Sie Ihre Amazon-Q-Codeprobleme aus der **Fehlerliste** von Visual Studio filtern möchten, erstellen Sie einen Filter wie folgt.

**Anmerkung**  
Codeprobleme sind erst sichtbar, nachdem Sie eine Codeüberprüfung durchgeführt haben, bei der Amazon Q Probleme erkannt hat.  
Codeprobleme werden in Visual Studio als Warnungen angezeigt. Damit die von Amazon Q erkannten Probleme in der **Fehlerliste** angezeigt werden, muss die Option **Warnungen** in der Überschrift **Fehlerliste** ausgewählt werden.

**Filtern von Codeproblemen in der Fehlerliste**

1. Wählen Sie im Visual-Studio-Hauptmenü „Ansicht“ und dann **Fehlerliste** aus, um den Bereich **Fehlerliste** zu öffnen.

1. Klicken Sie im Bereich **Fehlerliste** mit der rechten Maustaste auf die Kopfzeile, um das Kontextmenü zu öffnen.

1. Erweitern Sie im Kontextmenü die Option **Spalten anzeigen** und wählen Sie dann im erweiterten Menü die Option **Tool** aus.

1. Die Spalte **Tool** wird Ihrer **Fehlerliste** hinzugefügt.

1. Wählen Sie in der Kopfzeile der Spalte **Tool** das Symbol **Filter** und dann **Amazon Q** aus, um nach Problemen mit dem Amazon-Q-Code zu filtern.

# Filtern von Codeproblemen
<a name="filter-code-issues"></a>

**Anmerkung**  
Sie können Codeprobleme nur in JetBrains IDEs und filtern. Visual Studio Code

Wenn Sie Codeprobleme filtern, werden im Bereich „Code Issues“ nur Probleme angezeigt, die die ausgewählten Kriterien erfüllen. Sie können die Probleme nach ihrem Schweregrad filtern, sodass im Bereich nur Probleme mit dem ausgewählten Schweregrad angezeigt werden.

Sie können im Bereich „Code Issues“ auch steuern, wie Codeprobleme organisiert werden. Sie können Probleme nach Schweregrad oder nach ihrem Dateispeicherort gruppieren. 

So filtern Sie Codeprobleme:

------
#### [ JetBrains IDEs ]

1. Wählen Sie auf der Registerkarte **Amazon Q Code Issues** das Filtersymbol aus. 

1. Ein Popup-Menü mit Schweregraden wird geöffnet.

   Die folgende Abbildung zeigt das Menü Schweregrad auf der Registerkarte Codeprobleme inIntelliJ IDEA.  
![\[Das Filtermenü für den Schweregrad inIntelliJ IDEA.\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/jb-filter-issues.png)

1. Wählen Sie die Schweregrade aus, nach denen Sie filtern möchten, oder deaktivieren Sie sie, und **klicken Sie dann auf OK**. Nur die Probleme mit dem von Ihnen ausgewählten Schweregrad werden im Bereich **Amazon Q Code Issues** angezeigt. 

------
#### [ Visual-Studio-Code ]

1. Wählen Sie im Bereich **Code Issues** das Filtersymbol aus. 

   In der folgenden Abbildung sehen Sie das Filtersymbol auf der Registerkarte „Code Issues“ in Visual Studio Code.  
![\[Das Filtersymbol auf der Registerkarte „Code Issues“ in Visual Studio Code\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/filter-issues-vsc.png)

1. Das Menü **Filter Issues** wird geöffnet. 

   Aktivieren oder deaktivieren Sie die Kästchen neben den Schweregraden, nach denen Sie filtern möchten, und wählen Sie dann **OK**. Nur die Probleme mit dem von Ihnen ausgewählten Schweregrad werden im Bereich „**Codeprobleme**“ angezeigt. 

------

So gruppieren Sie Codeprobleme:

------
#### [ JetBrains IDEs ]

1. Wählen Sie im Bereich **Amazon Q Code Issues** das Gruppierungssymbol aus. 

1. Ein Popupmenü „**Gruppieren nach**“ wird geöffnet.

1. Wählen Sie **Schweregrad**, um Probleme im Bereich „Codeprobleme“ nach ihrem Schweregrad zu gruppieren. Wählen Sie „**Speicherort**“, um Probleme nach der Codedatei zu gruppieren, in der sie sich befinden.

------
#### [ Visual-Studio-Code ]

1. Wählen Sie im Bereich **Code Issues** das Gruppiersymbol aus. 

   In der folgenden Abbildung sehen Sie das Gruppiersymbol auf der Registerkarte „Code Issues“ in Visual Studio Code.  
![\[Das Gruppiersymbol auf der Registerkarte „Code Issues“ in Visual Studio Code\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/group-issues-vsc.png)

1. Das Menü **Group Issues** wird geöffnet. 

1. Wählen Sie **Schweregrad** aus, um Probleme im Bereich „Codeprobleme“ nach ihrem Schweregrad zu gruppieren. Wählen Sie „**Speicherort**“, um Probleme nach der Codedatei zu gruppieren, in der sie sich befinden.

------

# Schweregrad des Codeproblems in den Codeprüfungen von Amazon Q Developer
<a name="code-issue-severity"></a>

Amazon Q definiert den Schweregrad der in Ihrem Code erkannten Codeprobleme, sodass Sie priorisieren können, welche Probleme behoben werden müssen, und den Sicherheitsstatus Ihrer Anwendung verfolgen können. In den folgenden Abschnitten wird erklärt, mit welchen Methoden der Schweregrad von Codeproblemen bestimmt wird und was die einzelnen Schweregrade bedeuten. 

## Berechnung des Schweregradwerts
<a name="severity-calculation"></a>

Der Schweregrad eines Codeproblems wird durch den Detektor bestimmt, der das Problem generiert hat. Den Detektoren in der [Amazon Q Detector Library](https://docs.aws.amazon.com/codeguru/detector-library) wird mithilfe des Common Vulnerability Scoring System ([CVSS](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator)) jeweils ein Schweregrad zugewiesen. Das CVSS berücksichtigt, wie die Erkenntnis in ihrem Kontext ausgenutzt werden kann (kann sie beispielsweise über das Internet erfolgen oder ist physischer Zugriff erforderlich) und welche Zugriffsebene erreicht werden kann.

In der folgenden Tabelle wird dargestellt, wie der Schweregrad anhand der Zugriffsebene und des Aufwandes bestimmt wird, den ein böswilliger Akteur benötigt, um ein System erfolgreich anzugreifen.


**Matrix zur Bestimmung des Schweregrads**  

| Zugriffsebene | Grad des Aufwands | Schweregrad | 
| --- | --- | --- | 
| Volle Kontrolle über das System oder dessen Ausgabe | Erfordert Zugriff auf das System | Hoch | 
| Volle Kontrolle über das System oder dessen Ausgabe | Internet mit hohem Aufwand | Kritisch | 
| Volle Kontrolle über das System oder dessen Ausgabe | Über das Internet | Kritisch | 
| Zugriff auf sensible Informationen | Erfordert Zugriff auf das System | Mittelschwer | 
| Zugriff auf sensible Informationen | Internet mit hohem Aufwand | Hoch | 
| Zugriff auf sensible Informationen | Über das Internet | Hoch | 
| Kann das System abstürzen lassen oder verlangsamen | Erfordert Zugriff auf das System | Niedrig | 
| Kann das System abstürzen lassen oder verlangsamen | Internet mit hohem Aufwand | Mittelschwer | 
| Kann das System abstürzen lassen oder verlangsamen | Über das Internet | Mittelschwer | 
| Sorgt für zusätzliche Sicherheit | Nicht ausnutzbar | Info | 
| Sorgt für zusätzliche Sicherheit | Erfordert Zugriff auf das System | Info | 
| Sorgt für zusätzliche Sicherheit | Internet mit hohem Aufwand | Niedrig | 
| Sorgt für zusätzliche Sicherheit | Über das Internet | Niedrig | 
| Bewährte Methode | Nicht ausnutzbar | Info | 

## Schweregraddefinitionen
<a name="severity-definitions"></a>

Die Schweregradstufen sind wie folgt definiert.

 **Kritisch – Das Codeproblem sollte sofort behoben werden, um eine Eskalation zu vermeiden.**

Kritische Codeprobleme deuten darauf hin, dass ein Angreifer mit moderatem Aufwand die Kontrolle über das System erlangen oder sein Verhalten ändern kann. Es wird empfohlen, kritische Probleme mit äußerster Dringlichkeit zu behandeln. Sie sollten auch die Wichtigkeit der Ressource berücksichtigen.

 **Hoch – Das Codeproblem muss kurzfristig vorrangig behandelt werden.**

Codeprobleme mit hohem Schweregrad deuten darauf hin, dass ein Angreifer mit großem Aufwand die Kontrolle über das System erlangen oder sein Verhalten ändern kann. Es wird empfohlen, ein Problem mit hohem Schweregrad als kurzfristige Priorität zu behandeln und sofort Gegenmaßnahmen zu ergreifen. Sie sollten auch die Wichtigkeit der Ressource berücksichtigen.

 **Mittel – Das Codeproblem sollte als mittelfristige Priorität angegangen werden.**

Probleme mit mittlerem Schweregrad können zum Absturz, zu mangelnder Reaktionsfähigkeit oder zur Nichtverfügbarkeit des Systems führen. Es wird empfohlen, den betroffenen Code so bald wie möglich zu untersuchen. Sie sollten auch die Wichtigkeit der Ressource berücksichtigen.

 **Niedrig – Das Codeproblem erfordert keine besonderen Maßnahmen.**

Probleme mit geringem Schweregrad deuten auf Programmierfehler oder Anti-Muster hin. Bei Problemen mit geringem Schweregrad müssen Sie nicht sofort Maßnahmen ergreifen, sie können jedoch Kontext bieten, wenn Sie sie mit anderen Problemen korrelieren.

**Informativ – Es werden keine Maßnahmen empfohlen.**

Zu den informativen Problemen gehören Vorschläge für Verbesserungen der Qualität oder Lesbarkeit oder alternative API-Operationen. Es sind keine sofortigen Maßnahmen erforderlich.

# Transformieren von Code in der IDE mit Amazon Q Developer
<a name="transform-in-IDE"></a>

Amazon Q Developer kann Ihren Code in integrierten Entwicklungsumgebungen (IDEs) transformieren, indem es automatisierte Upgrades und Konvertierungen auf Sprach- und Betriebssystemebene (OS) durchführt. Sie geben den zu transformierenden Code an und Amazon Q generiert Änderungen, die Sie überprüfen und auf Ihre Dateien anwenden können. 

Installieren Sie zunächst Amazon Q in einer IDE, die Transformationen unterstützt. Sehen Sie sich dann das Thema für die Art der Transformation an, die Sie mit Amazon Q durchführen möchten.

Weitere Informationen zu IDEs dieser Support-Transformation und zur Installation von Amazon Q finden Sie unter[Verwenden von Amazon Q Developer in der IDE](q-in-IDE.md).

**Topics**
+ [

# Transformieren von Java-Anwendungen mit Amazon Q Developer
](transform-java.md)
+ [

# Transformieren von .NET-Anwendungen mit Amazon Q Developer
](transform-dotnet-IDE.md)

# Transformieren von Java-Anwendungen mit Amazon Q Developer
<a name="transform-java"></a>

**Anmerkung**  
AWS Transform Custom ist jetzt für Java-Upgrades verfügbar. Agentic AI, die Versions-Upgrades, SDK-Migrationen und mehr abwickelt und sich mit jeder Ausführung verbessert. [Erste Schritte](https://docs.aws.amazon.com/transform/latest/userguide/custom-get-started.html)

Amazon Q unterstützt die folgenden Arten von Transformationen für Java-Anwendungen: 
+ Upgrades der Java-Sprach- und Abhängigkeitsversionen
+ Eingebettete SQL-Konvertierung für die Datenbankmigration von Oracle zu PostgreSQL

Sehen Sie sich zuerst das Thema für die Art der Transformation an, die Sie durchführen möchten. 

**Topics**
+ [

## Kontingente
](#quotas-java-transformation-ide)
+ [

# Aktualisieren von Java-Versionen mit Amazon Q Developer
](code-transformation.md)
+ [

# Konvertieren von Embedded SQL in Java-Anwendungen mit Amazon Q Developer
](transform-sql.md)
+ [

# Transformieren von Code in der Befehlszeile mit Amazon Q Developer
](transform-CLI.md)
+ [

# Anzeigen des Verlaufs der Transformationsaufträge
](transformation-job-history.md)
+ [

# Behebung von Problemen bei Java-Transformationen
](troubleshooting-code-transformation.md)

## Kontingente
<a name="quotas-java-transformation-ide"></a>

Für Java-Anwendungstransformationen mit Amazon Q in der IDE und in der Befehlszeile gelten die folgenden Kontingente: 
+ **Codezeilen pro Auftrag** – die maximale Anzahl von Codezeilen, die Amazon Q in einem bestimmten Transformationsauftrag transformieren kann 
+ **Codezeilen pro Monat** – die maximale Anzahl von Codezeilen, die Amazon Q in einem Monat transformieren kann 
+ **Gleichzeitige Aufträge** – die maximale Anzahl von Transformationsaufträgen, die Sie gleichzeitig ausführen können. Dieses Kontingent gilt für alle Transformationen in der IDE, einschließlich [.NET-Transformationen in Visual Studio](transform-dotnet-IDE.md).
+ **Aufträge pro Monat** – die maximale Anzahl von Transformationsaufträgen, die Sie in einem Monat ausführen können 


| Ressource | Kontingente | 
| --- | --- | 
| Codezeilen pro Auftrag | Kostenloses Kontingent: 1 000 Codezeilen | 
| Codezeilen pro Monat | Kostenloses Kontingent: 2 000 Codezeilen | 
| Gleichzeitige Aufträge |  1 Auftrag pro Benutzer 25 Jobs pro Konto AWS   | 
| Aufträge pro Monat |  Stufe Pro: 1 000 Aufträge Kostenloses Kontingent: 100 Aufträge  | 

# Aktualisieren von Java-Versionen mit Amazon Q Developer
<a name="code-transformation"></a>

Amazon Q Developer kann Ihre Java-Anwendungen in der integrierten Entwicklungsumgebung (IDE) auf neuere Sprachversionen aktualisieren. Zu den Änderungen, die Amazon Q zur Aktualisierung Ihres Codes vornehmen kann, gehören die Aktualisierung veralteter Codekomponenten APIs sowie die Aktualisierung von Bibliotheken, Frameworks und anderen Abhängigkeiten in Ihrem Code. 

Zum Transformieren Ihres Codes erstellt Amazon Q Ihren Code zunächst in der Version der Ausgangssprache und überprüft, ob er über die für die Transformation erforderlichen Informationen verfügt. Nachdem Amazon Q Ihren Code erfolgreich transformiert hat, überprüfen und akzeptieren Sie die Änderungen in der Änderungsansicht Ihrer IDE. Da Amazon Q Developer die minimalen Änderungen vornimmt, die erforderlich sind, um Ihren aktualisierten Code mit dem Ziel-JDK kompatibel zu machen, ist eine zusätzliche Transformation erforderlich, um die Bibliotheken und Abhängigkeiten Ihres Projekts zu aktualisieren. Weitere Informationen dazu, wie Amazon Q Ihren Code transformiert, finden Sie unter [So transformiert Amazon Q Developer Code für Upgrades von Java-Sprachen](how-CT-works.md).

**Topics**
+ [

## Unterstützte Java-Upgrades und IDEs
](#supported-languages-IDEs)
+ [

## Schritt 1: Voraussetzungen
](#java-upgrade-prerequisites)
+ [

## Schritt 2: Konfigurieren Ihres Projekts
](#configure-project)
+ [

## Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)
](#create-dependency-upgrade-file)
+ [

## Schritt 4: Transformieren Ihres Codes
](#transform-code-java)
+ [

# So transformiert Amazon Q Developer Code für Upgrades von Java-Sprachen
](how-CT-works.md)

## Unterstützte Java-Upgrades und IDEs
<a name="supported-languages-IDEs"></a>

Amazon Q unterstützt derzeit die folgenden Java-Quellcode- und Zielversionen für Transformationen. Die Transformation von Code in dieselbe Java-Version beinhaltet das Aktualisieren von Bibliotheken und anderen Abhängigkeiten in der Quellcodeversion.


**Unterstützte Java-Upgrades**  

| Quellcodeversion | Unterstützte Zielversionen | 
| --- | --- | 
| Java 8  | Java 17 und Java 21 | 
| Java 11 | Java 17 und Java 21 | 
| Java 17 | Java 17 und Java 21  | 
| Java 21 |  Java21   | 

Amazon Q unterstützt Java-Upgrades in den folgenden Bereichen IDEs:
+ Module in JetBrains IDEs
+ Projekte und Workspaces in Visual Studio Code

## Schritt 1: Voraussetzungen
<a name="java-upgrade-prerequisites"></a>

Bevor Sie fortfahren, sollten Sie sicherstellen, dass Sie die in [Einrichten von Amazon Q in Ihrer IDE](q-in-IDE-setup.md) beschriebenen Schritte ausgeführt habe.

Überprüfen Sie vor Beginn eines Codetransformationsauftrags, ob die folgenden Voraussetzungen erfüllt sind: 
+ Ihr Projekt ist in einer [unterstützten Java-Version](#supported-languages-IDEs) geschrieben und baut auf Maven auf.
+ Ihr Projekt wird mit Maven erfolgreich in Ihrer IDE erstellt. Maven 3.8 oder höher wird derzeit unterstützt. 
+ Ihr Projekt-Quell-JDK ist lokal verfügbar und entspricht der Version Ihres Quellcodes. Wenn Sie beispielsweise Java-8-Code transformieren, sollte Ihre lokale JDK-Installation JDK 8 sein.
+ Ihr Projekt wird in 55 Minuten oder weniger erstellt. 
+ Ihr Projekt ist korrekt konfiguriert und die richtige JDK-Version ist angegeben. Weitere Informationen finden Sie unter [Schritt 2: Konfigurieren Ihres Projekts](#configure-project).
+ Ihr Projekt benötigt keinen Zugriff auf Ressourcen in Ihrem privaten Netzwerk, einschließlich einer Virtual Private Cloud (VPC) oder eines lokalen Netzwerks. Wenn Ihr Projekt beispielsweise Modultests enthält, die eine Verbindung mit einer Datenbank in Ihrem Netzwerk herstellen, schlägt die Transformation fehl.
+ Ihr Projekt verwendet keine Plugins, die andere Sprachen als Java in Ihr Java-Projekt packen. Wenn Ihr Projekt beispielsweise zusätzlich zu Ihrem Java-Quellcode den [frontend-maven-plugin](https://github.com/eirslett/frontend-maven-plugin)für die Ausführung von JavaScript Frontend-Code verwendet, schlägt die Transformation fehl.
+ Ihr lokales Netzwerk ermöglicht Uploads in Amazon-S3-Buckets, die Amazon Q zur Transformation Ihres Codes verwendet. Weitere Informationen erhalten Sie unter [Zulassen des Zugriffs auf Amazon-S3-Buckets in Datenperimetern](firewall.md#data-perimeters).
+ Ihre Anwendung verwendet nur UTF-8-Zeichen. Wenn Ihre Anwendung keine UTF-8-Zeichen verwendet, versucht Amazon Q trotzdem, Ihren Code zu transformieren. 

## Schritt 2: Konfigurieren Ihres Projekts
<a name="configure-project"></a>

Verwenden Sie zur Konfiguration Ihres Projekts die folgenden Informationen für die von Ihnen verwendete IDE.

### Konfigurieren eines Projekts in JetBrains
<a name="configure-jetbrains"></a>

Wenn Sie Ihr Projekt in JetBrains konfigurieren möchten, müssen Sie gegebenenfalls die folgenden Projekt- und Moduleinstellungen angeben. 

Wenn Ihre Module dasselbe JDK und dieselbe Sprachebene wie Ihr Projekt verwenden, müssen Sie die Moduleinstellungen nicht aktualisieren.
+ Projekt-SDK – das JDK, das zum Kompilieren Ihres Projekts verwendet wurde 
+ Sprachebene des Projekts – die in Ihrem Projekt verwendete Java-Version
+ Modul-SDK – das JDK, das zum Kompilieren Ihres Moduls verwendet wurde 
+ Sprachebene des Moduls – die Java-Version, die in Ihrem Modul verwendet wird 
+ Maven Runner JRE – das JDK, mit dem Sie Ihr Modul erstellen 

**Aktualisieren der Projekt- und Moduleinstellungen**

Gehen Sie wie folgt vor, um Ihr SDK und die Einstellungen für die Sprachebene für Ihr Projekt oder Modul zu aktualisieren:

1. Wählen Sie in Ihrer JetBrains-IDE **File** und dann **Project Structure** aus. 

1. Das Fenster „Project Structure“ wird geöffnet. Wählen Sie unter **Project Settings** die Option **Project** aus. 

   1. Wenn Sie Ihr Projekt-JDK aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben **SDK** aus. 

   1. Wenn Sie Ihre Projektsprache aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben **Language Level** aus. 

1. Wählen Sie unter **Project Settings** die Option **Modules** aus. 

   1. Wenn Sie Ihr Modul-JDK aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben **SDK** aus. 

   1. Wenn Sie Ihre Modulsprache aktualisieren möchten, wählen Sie eine Option aus der Dropdown-Liste neben **Language Level** aus.

Weitere Informationen erhalten Sie unter [Project structure settings](https://www.jetbrains.com/help/idea/project-settings-and-structure.html) und [Module structure settings](https://www.jetbrains.com/help/idea/configure-modules.html) in der JetBrains-Dokumentation.

**Aktualisieren von Maven-Einstellungen**

Gehen Sie wie folgt vor, um Ihre Maven Runner JRE zu aktualisieren:

1. Wählen Sie in Ihrer JetBrains-IDE das Zahnradsymbol und dann im angezeigten Menü die Option **Settings** aus. 

1. Wählen Sie im Fenster **Settings** die Optionen **Build, Execution, Deployment**, dann **Build Tools**, **Maven** und schließlich **Runner** aus.

1. Wählen Sie im Feld „JRE“ das JDK aus, das zum Erstellen des Moduls verwendet wurde, das Sie transformieren.

### Konfigurieren eines Projekts in VS Code
<a name="configure-vsc"></a>

Damit Sie Ihr Projekt in VS Code konfigurieren können, muss es Folgendes enthalten: 
+ Eine Datei `pom.xml` im Projektstammordner
+ Eine Datei `.java` im Projektverzeichnis

Wenn Ihr Projekt eine ausführbare Maven-Wrapper-Datei (`mvnw` für macOS oder `mvnw.cmd` für Windows) enthält, stellen Sie sicher, dass sie sich im Stammverzeichnis des Projekts befindet. Amazon Q verwendet den Wrapper, sodass keine weitere Maven-Konfiguration erforderlich ist.

Wenn Sie keinen Maven Wrapper verwenden, installieren Sie Maven. Weitere Informationen erhalten Sie unter [Installing Apache Maven](https://maven.apache.org/install.html) in der Dokumentation für Apache Maven.

Fügen Sie Maven nach der Installation Ihrer `PATH`-Variablen hinzu. Weitere Informationen erhalten Sie unter [Wie füge ich Maven meinem `PATH` hinzu?](troubleshooting-code-transformation.md#add-maven-to-path). Ihre Java-`runtime`-Variable sollte auch auf ein JDK und nicht auf eine JRE verweisen. Führen Sie `mvn -v` aus, um zu überprüfen, ob Ihre Konfiguration korrekt ist. Die Ausgabe sollte Ihre Maven-Version und die `runtime`-Variable zeigen, die auf den Pfad zu Ihrem JDK verweist.

## Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)
<a name="create-dependency-upgrade-file"></a>

Sie können Amazon Q eine *Upgrade-Datei für Abhängigkeiten* zur Verfügung stellen. Hierbei handelt es sich um eine YAML-Datei, in der die Abhängigkeiten Ihres Projekts und die Versionen aufgeführt sind, auf die während einer Transformation aktualisiert werden soll. Durch die Bereitstellung einer Upgrade-Datei für Abhängigkeiten können Sie Abhängigkeiten von Drittanbietern und Erstanbietern angeben, von denen Amazon Q sonst möglicherweise nicht weiß, dass sie aktualisiert werden sollen.

Abhängigkeiten von Erstanbietern beziehen sich auf die Bibliotheken, Plugins und Frameworks, die Ihre Organisation verwaltet und die nur lokal oder im privaten Netzwerk Ihrer Organisation verfügbar sind. Amazon Q kann auf Ihre Abhängigkeiten von Erstanbietern zugreifen, wenn es Builds in Ihrer lokalen Umgebung ausführt. Weitere Informationen finden Sie unter [Entwickeln von Code in Ihrer lokalen Umgebung](how-CT-works.md#java-local-builds). Bei Abhängigkeiten von Drittanbietern handelt es sich um öffentlich verfügbare oder Open-Source-Abhängigkeiten, die nicht nur für Ihr Unternehmen gelten.

Sie können Abhängigkeiten von Erstanbietern, die Sie aktualisieren möchten, in einer YAML-Datei angeben. Amazon Q aktualisiert sie dann während des JDK-Upgrades (z. B. Java 8 auf 17). Sie können nach dem ersten JDK-Upgrade eine separate Transformation (17 auf 17 oder 21 auf 21) initiieren, um Abhängigkeiten von Drittanbietern zu aktualisieren.

Sobald Amazon Q mindestens ein JDK-Upgrade durchgeführt hat, können Sie eine separate Transformation einleiten, um alle Abhängigkeiten von Drittanbietern zu aktualisieren. Alternativ können Sie Abhängigkeiten von Drittanbietern und deren Versionen in einer YAML-Datei angeben, um nur diese Abhängigkeiten während der Upgrade-Transformation der Bibliothek zu aktualisieren.

Amazon Q fordert Sie während der Transformation auf, eine Upgrade-Datei für Abhängigkeiten bereitzustellen. Wenn Sie eine Datei bereitstellen möchten, stellen Sie zunächst sicher, dass Sie sie richtig konfiguriert haben. Die folgenden Felder sind in der YAML-Datei erforderlich:
+ name – der Name der Upgrade-Datei für Abhängigkeiten
+ description (optional) – eine Beschreibung der Upgrade-Datei für Abhängigkeiten und die Angabe, für welche Transformation sie verwendet werden soll
+ dependencyManagement – enthält die Liste der Abhängigkeiten und Plugins, die aktualisiert werden sollen
+ dependencies – enthält den Namen und die Version der zu aktualisierenden Bibliotheken
+ plugins – enthält die Namen und Versionen der zu aktualisierenden Plugins
+ identifier – der Name der Bibliothek, des Plugins oder einer anderen Abhängigkeit
+ targetVersion – die Version der Abhängigkeit, auf die ein Upgrade durchgeführt werden soll
+ versionProperty (optional) – die Version der Abhängigkeit, die Sie definieren, wie sie mit dem Tag `properties` in der Datei `pom.xml` Ihrer Anwendung festgelegt ist
+ originType – gibt an, ob es sich bei der Abhängigkeit um eine Abhängigkeit von Erst- oder Drittanbietern handelt, angegeben durch FIRST\$1PARTY oder THIRD\$1PARTY.

Im Folgenden finden Sie ein Beispiel für eine YAML-Upgrade-Datei für Abhängigkeiten und die erforderliche Konfiguration, die Amazon Q analysieren muss:

```
name: dependency-upgrade
  
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
  
  
dependencyManagement:
  
  dependencies:
  
    - identifier: "com.example:library1"
  
      targetVersion: "2.1.0"
  
      versionProperty: "library1.version"  # Optional
  
      originType: "FIRST_PARTY"   
  
    - identifier: "com.example:library2"
  
      targetVersion: "3.0.0"
  
      originType: "THIRD_PARTY"
  
  plugins:
  
    - identifier: "com.example.plugin"
  
      targetVersion: "1.2.0"
  
      versionProperty: "plugin.version"  # Optional
            
      originType: "THIRD_PARTY"
```

## Schritt 4: Transformieren Ihres Codes
<a name="transform-code-java"></a>

Zum Testen Ihrer IDE-Einrichtung laden Sie das Beispielprojekt herunter, entpacken es und führen die folgenden Schritte für Ihre IDE aus. Wenn Sie die vorgeschlagenen Änderungen und die Zusammenfassung der Transformation einsehen können, sind Sie bereit, Ihr eigenes Codeprojekt zu transformieren. Wenn die Transformation fehlschlägt, ist Ihre IDE nicht richtig konfiguriert. Zum Beheben von Konfigurationsproblemen lesen Sie [Schritt 2: Konfigurieren Ihres Projekts](#configure-project) und [Fehlerbehebung](troubleshooting-code-transformation.md).

**Anmerkung**  
Schalten Sie Ihren lokalen Computer während der Codetransformation nicht aus, schließen Sie ihn nicht und versetzen Sie ihn auch nicht in den Standbymodus. Die Initial- und Validierungs-Builds verwenden die clientseitige Umgebung, für die eine stabile Netzwerkverbindung erforderlich ist. 

Gehen Sie für Ihre IDE wie folgt vor, um die Sprachenversion Ihres Codeprojekts oder -moduls zu aktualisieren.

------
#### [ JetBrains ]

1. Öffnen Sie das Modul, für das Sie in JetBrains ein Upgrade durchführen möchten. Stellen Sie sicher, dass Sie Ihr Projekt erfolgreich in der IDE erstellt haben. 

1. Wählen Sie das Amazon Q-Logo und bitten Sie Amazon Q, Ihre Anwendung im sich öffnenden Chat-Panel zu transformieren.

1. Ein Popup-Fenster **Transform your application** wird angezeigt. Wählen Sie in der Dropdown-Liste das Projekt aus, das Sie aktualisieren möchten, und wählen Sie dann **Transform** aus. 

1. Amazon Q fordert Sie auf, eine Upgrade-Datei für Abhängigkeiten bereitzustellen. Wenn Sie ein YAML mit den Abhängigkeiten und der Version konfiguriert haben, auf die Sie aktualisieren möchten, fügen Sie Ihre Datei hinzu. Amazon Q validiert die Datei, um sicherzustellen, dass sie korrekt konfiguriert ist. Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie das Format und die erforderlichen Felder, die unter [Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)](#create-dependency-upgrade-file) beschrieben sind.

1. Amazon Q beginnt mit der Transformation. Sie können den Fortschritt auf der Registerkarte **Transformation details** einsehen. 

1. Nach Abschluss der Transformation können Sie den aktualisierten Code überprüfen, bevor Sie Ihr Projekt aktualisieren. Wenn Sie den neuen Code anzeigen möchten, gehen Sie zur Registerkarte **Transformation details** und wählen Sie dann **View diff** aus. Wählen Sie im daraufhin angezeigten Fenster **Apply patch** eine Datei aus, um eine Vergleichsansicht mit Ihrem Quellcode und dem aktualisierten Code zu öffnen. 

1. Wenn Sie die von Amazon Q vorgenommenen Änderungen akzeptieren möchten, wählen Sie **View diff** aus, um das Fenster **Apply patch** zu öffnen. Wählen Sie alle aktualisierten Dateien aus und klicken Sie auf **OK**, um Ihr Projekt an Ort und Stelle zu aktualisieren. 

1. Wenn Sie Einzelheiten darüber, wie Ihr Code aktualisiert wurde, und Vorschläge für die nächsten Schritte erhalten möchten, wählen Sie auf der Registerkarte **Transformation details** die Option **View transformation summary** aus. 

------
#### [ Visual-Studio-Code ]

1. Öffnen Sie das Projekt oder den Workspace, das bzw. den Sie in VS Code aktualisieren möchten. Stellen Sie sicher, dass Sie Ihr Projekt erfolgreich in der IDE erstellt haben. 

1. Wählen Sie das Amazon Q-Logo und bitten Sie Amazon Q, Ihre Anwendung im sich öffnenden Chat-Panel zu transformieren.

1. Wählen Sie das Projekt, das Sie aktualisieren möchten, in der Suchleiste oben in der IDE aus. 

1. Wenn Amazon Q die Version Ihres Quellcodes nicht finden kann, werden Sie aufgefordert, Ihre Codeversion auszuwählen. Wählen Sie die Version aus, in der Ihr Quellcode geschrieben ist, und klicken Sie dann im Popup-Fenster auf die Option **Transform**, um fortzufahren. 

1. Geben Sie den `JAVA_HOME`-Pfad zu Ihrem JDK ein, wenn Sie dazu aufgefordert werden. Weitere Informationen erhalten Sie unter [Konfigurieren Ihres VS Code-Projekts](#configure-vsc). 

1. Amazon Q fordert Sie auf, eine Upgrade-Datei für Abhängigkeiten bereitzustellen. Wenn Sie ein YAML mit den Abhängigkeiten und der Version konfiguriert haben, auf die Sie aktualisieren möchten, fügen Sie Ihre Datei hinzu. Amazon Q validiert die Datei, um sicherzustellen, dass sie korrekt konfiguriert ist. Wenn Sie eine Fehlermeldung erhalten, überprüfen Sie das Format und die erforderlichen Felder, die unter [Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)](#create-dependency-upgrade-file) beschrieben sind.

1. Amazon Q beginnt mit der Transformation. Sie können den Fortschritt auf der Registerkarte **Transformation Hub** einsehen. 

1. Nach Abschluss der Transformation wird die Registerkarte **Proposed Changes** geöffnet. Wenn Sie den aktualisierten Code überprüfen möchten, bevor Sie ein Upgrade für Ihr Projekt durchführen, wählen Sie **Download proposed changes** aus. Wählen Sie eine Datei aus, um eine Vergleichsansicht mit Ihrem Quellcode und dem aktualisierten Code zu öffnen. 

1. Wenn Sie die von Amazon Q vorgenommenen Änderungen akzeptieren möchten, wechseln Sie zur Registerkarte **Proposed Changes** und wählen Sie **Accept** aus. 

1. Wenn Sie Einzelheiten darüber, wie Ihr Code aktualisiert wurde, und Vorschläge für die nächsten Schritte erhalten möchten, klicken Sie im **Transformation Hub** auf die Ellipsenschaltfläche **Views and More Actions** und dann auf **Show Transformation Summary**.

------

# So transformiert Amazon Q Developer Code für Upgrades von Java-Sprachen
<a name="how-CT-works"></a>

Zum Transformieren Ihres Codes generiert Amazon Q Developer einen Transformationsplan, anhand dessen die Codesprachenversion Ihres Projekts aktualisiert wird. Nach der Transformation Ihres Codes erhalten Sie eine Zusammenfassung der Transformation und einen Dateivergleich, mit dem Sie die Änderungen überprüfen können, bevor Sie sie akzeptieren. Da Amazon Q Developer die minimalen Änderungen vornimmt, die erforderlich sind, um Ihren aktualisierten Code mit dem Ziel-JDK kompatibel zu machen, ist eine zusätzliche Transformation erforderlich, um die Bibliotheken und Abhängigkeiten Ihres Projekts zu aktualisieren. In den folgenden Abschnitten erhalten Sie weitere Informationen dazu, wie Amazon Q die Transformation durchführt.

## Erstellen Ihres Codes und Aufstellen eines Transformationsplans
<a name="build-code-create-plan"></a>

Zur Transformation Ihres Codes erstellt Amazon Q Ihr Projekt lokal und generiert ein Build-Artefakt, das Ihren Quellcode, Ihre Projektabhängigkeiten und Build-Protokolle enthält. 

Nach der Generierung des Build-Artefakts erstellt Amazon Q Ihren Code in einer sicheren Build-Umgebung und stellt einen Transformationsplan auf, der auf das Projekt oder Modul zugeschnitten ist, das Sie aktualisieren. Der Transformationsplan beschreibt die spezifischen Änderungen, die Amazon Q vornehmen wird, einschließlich neuer Abhängigkeitsversionen, wichtiger Codeänderungen und Vorschlägen zum Ersetzen von veraltetem Code. Diese Änderungen basieren auf der vorläufigen Version Ihres Codes und können sich während der Transformation ändern.

## Transformieren Ihres Codes
<a name="transform-code"></a>

Zum Transformieren Ihres Codes versucht Amazon Q, den Code auf der Grundlage der vorgeschlagenen Änderungen im Transformationsplan auf die Ziel-Java-Version zu aktualisieren. Während der Vornahme der Änderungen werden bestehende Modultests in Ihrem Quellcode neu erstellt und ausgeführt, um alle aufgetretenen Fehler iterativ zu beheben. Das JDK-Upgrade kann von der folgenden Quellcodeversion auf die Zielversion durchgeführt werden:
+ Java 8 auf 17
+ Java 8 auf 21
+ Java 11 auf 17
+ Java 11 auf 21
+ Java 17 auf 21

Amazon Q nimmt die mindestens erforderlichen Änderungen vor, um Ihren Code mit der Java-Zielversion kompatibel zu machen. Sobald Amazon Q mindestens ein JDK-Upgrade durchgeführt hat, können Sie eine separate Transformation einleiten, um alle Abhängigkeiten von Drittanbietern zu aktualisieren. Alternativ können Sie Abhängigkeiten von Drittanbietern und deren Versionen in einer YAML-Datei angeben, um nur diese Abhängigkeiten während der Upgrade-Transformation der Bibliothek zu aktualisieren.

Amazon Q versucht, beim Upgrade Ihres Codes die folgenden Änderungen vorzunehmen:
+ Aktualisieren veralteter Codekomponenten gemäß den Empfehlungen für die Java-Zielversion
+ Aktualisieren gängiger Bibliotheken und Frameworks auf eine Version, die mit der Java-Zielversion kompatibel ist. Dies umfasst die Aktualisierung der folgenden Bibliotheken und Frameworks auf ihre neuesten verfügbaren Hauptversionen: 
  + Apache Commons IO 
  + Apache HttpClient 
  + bc-fips 
  + Cucumber-JVM 
  + Hibernate 
  + jackson-annotations 
  + JakartaEE
  + Javax 
  + javax.servlet 
  + jaxb-api 
  + jaxb-impl 
  + jaxen 
  + jcl-over-slf4j 
  + json-simple 
  + jsr305 
  + junit 
  + junit-jupiter-api 
  + Log4j 
  + Micronaut 
  + Mockito 
  + mockito-core 
  + Okio 
  + PowerMockito 
  + Quarkus 
  + slf4j 
  + slf4j-api 
  + Spring Boot 
  + Spring Framework 
  + Spring Security 
  + Swagger 
  + testng 

**Anmerkung**  
Schalten Sie Ihren lokalen Computer während der Codetransformation nicht aus, da für den clientseitigen Build eine stabile Netzwerkverbindung erforderlich ist.

## Entwickeln von Code in Ihrer lokalen Umgebung
<a name="java-local-builds"></a>

Während einer Transformation führt Amazon Q Verifizierungs-Builds in Ihrer lokalen Umgebung durch. Amazon Q transformiert Ihren Code serverseitig in mehreren Schritten. Nach jedem Schritt sendet Amazon Q den Code an Ihre lokale Umgebung, um die vorgenommenen Änderungen zu erstellen und zu testen. Der Code wird dann an die Serverseite zurückgesendet, um die Transformation fortzusetzen. 

Der Build in Ihrer lokalen Umgebung hilft bei der Überprüfung des transformierten Codes, indem Amazon Q Tests ausführen kann, die Zugriff auf private Ressourcen erfordern. Damit Sicherheitsrisiken im Zusammenhang mit der Erstellung von KI-generiertem Code in Ihrer lokalen Umgebung minimiert werden, überprüft und aktualisiert Amazon Q den generierten Code, um Sicherheitsbedenken auszuräumen.

## Überprüfen der Transformationszusammenfassung und Akzeptieren der Änderungen
<a name="review-plan-accept-changes"></a>

Nach Abschluss der Transformation stellt Amazon Q eine Transformationszusammenfassung mit Einzelheiten zu den vorgenommenen Änderungen bereit, einschließlich des Status des endgültigen Builds, der angibt, ob Ihr gesamtes Projekt aktualisiert wurde. Sie können sich auch eine Zusammenfassung des Build-Protokolls ansehen, um alle Probleme zu verstehen, die Amazon Q daran gehindert haben, Ihren Code in der aktualisierten Version zu erstellen.

Die Transformationszusammenfassung enthält außerdem die Unterschiede zwischen den im Transformationsplan vorgeschlagenen Änderungen und den Änderungen, die Amazon Q letztendlich vorgenommen hat, um Ihren Code zu aktualisieren, sowie alle zusätzlichen Änderungen, die nicht im ursprünglichen Plan enthalten waren. 

Nachdem Sie die Transformationszusammenfassung überprüft haben, können Sie sich die Änderungen, die Amazon Q vorschlägt, in einer Dateivergleichsansicht ansehen. Alle Codeänderungen, die Amazon Q vorschlägt, wirken sich erst auf Ihre aktuellen Projektdateien aus, wenn Sie die Änderungen akzeptieren. Der transformierte Code ist bis zu 30 Tage nach Abschluss der Transformation verfügbar. 

## Abschließen teilweise erfolgreicher Transformationen
<a name="partially-successful-transformations"></a>

Abhängig von der Komplexität und den Besonderheiten Ihrer Codebasis kann es Fälle geben, in denen die Transformation teilweise erfolgreich ist. Das bedeutet, dass Amazon Q nur bestimmte Dateien oder Codebereiche in Ihrem Projekt transformieren konnte. In diesem Fall müssen Sie den verbleibenden Code manuell aktualisieren, damit Ihr Projekt in der aktualisierten Sprachversion erstellt werden kann. 

Beim Transformieren des verbleibenden Codes können Sie als Hilfestellung Amazon Q Chat in der IDE verwenden. Sie können Amazon Q bitten, die teilweise aktualisierten Dateien zu überprüfen und neuen Code bereitzustellen, um Probleme wie Kompilierungsfehler zu beheben. Sie können auch Funktionen wie [Funktionsentwicklung](q-in-IDE-chat.md#develop-code) und [Workspace-Kontext](workspace-context.md) verwenden, um einen größeren Teil Ihres Projekts als Kontext einzubeziehen und Vorschläge für mehrere Dateien gleichzeitig zu erhalten. 

# Konvertieren von Embedded SQL in Java-Anwendungen mit Amazon Q Developer
<a name="transform-sql"></a>

Der Amazon Q Developer-Agent für die Codetransformation in der IDE kann Ihnen bei der Konvertierung von Embedded SQL helfen, um die Datenbankmigration von Oracle zu PostgreSQL mit AWS Database Migration Service (AWS DMS) abzuschließen.

AWS DMS ist ein Cloud-Dienst, der die Migration relationaler Datenbanken, Data Warehouses, NoSQL-Datenbanken und anderer Arten von Datenspeichern ermöglicht. Die DMS-Schemakonvertierung in AWS DMS hilft Ihnen bei der Konvertierung von Datenbankschemata und Codeobjekten, die Sie auf Ihre Zieldatenbank anwenden können. [Weitere Informationen finden Sie unter Was ist? AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) im *AWS Database Migration Service Benutzerhandbuch*.

Wenn Sie AWS DMS und die DMS-Schemakonvertierung verwenden, um eine Datenbank zu migrieren, müssen Sie möglicherweise das eingebettete SQL in Ihrer Anwendung konvertieren, damit es mit Ihrer Zieldatenbank kompatibel ist. Anstatt es manuell zu konvertieren, können Sie Amazon Q in der IDE verwenden, um die Konvertierung zu automatisieren. Amazon Q verwendet Metadaten aus einer DMS-Schemakonvertierung, um Embedded SQL in Ihrer Anwendung in eine Version zu konvertieren, die mit Ihrer Zieldatenbank kompatibel ist.

Derzeit kann Amazon Q SQL in Java-Anwendungen für Oracle-Datenbanken konvertieren, die zu PostgreSQL migriert werden. Sie sehen die Option zur Transformation von SQL-Code in der IDE nur, wenn Ihre Anwendung Oracle-SQL-Anweisungen enthält. Weitere Informationen erhalten Sie in den Voraussetzungen. 

## Schritt 1: Voraussetzungen
<a name="sql-transform-prereqs"></a>

Bevor Sie fortfahren, sollten Sie sicherstellen, dass Sie die in [Einrichten von Amazon Q in Ihrer IDE](q-in-IDE-setup.md) beschriebenen Schritte ausgeführt habe.

Bevor Sie mit einem Codetransformationsjob für die SQL-Konvertierung beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
+ Sie migrieren eine Java-Anwendung mit Embedded SQL von einer Oracle-Datenbank zu einer PostgreSQL-Datenbank. Ihre Anwendung muss Oracle-SQL-Anweisungen enthalten, damit sie transformiert werden kann. 
+ Sie haben den Prozess zur Konvertierung Ihres Datenbankschemas mithilfe der AWS -DMS-Schemakonvertierung abgeschlossen. Weitere Informationen erhalten Sie unter [Migrating Oracle databases to Amazon RDS for PostgreSQL with DMS Schema Conversion](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html) im *Leitfaden zur Datenbankmigration*.
+ Nach Abschluss der Schemakonvertierung haben Sie die Migrationsprojektdatei von der AWS DMS-Konsole heruntergeladen.

## Schritt 2: Konfigurieren Ihrer Anwendung
<a name="sql-transform-configure"></a>

Damit Sie Ihren eingebetteten SQL-Code konvertieren können, muss Ihr Java-Projekt mindestens eine `.java`-Datei enthalten. 

Wenn Sie eine JetBrains IDE verwenden, müssen Sie das SDK-Feld in den Projektstruktureinstellungen auf das entsprechende JDK festlegen. Informationen zur Konfiguration der Projektstruktureinstellungen finden Sie in der JetBrains Dokumentation unter [Einstellungen für die Projektstruktur](https://www.jetbrains.com/help/idea/project-settings-and-structure.html). 

## Schritt 3: Konvertieren von Embedded SQL
<a name="convert-sql"></a>

Gehen Sie wie folgt vor, um den eingebetteten SQL-Code in Ihrer Java-Anwendung in ein Format zu konvertieren, das mit Ihrer PostgreSQL-Zieldatenbank kompatibel ist:

1. Öffnen Sie in Ihrer IDE, in der Amazon Q installiert ist, die Java-Codebasis, die das Embedded SQL enthält, das Sie konvertieren müssen. 

1. Wählen Sie das Amazon-Q-Symbol aus, um den Chat-Bereich zu öffnen. 

1. Bitten Sie Amazon Q, Ihre Anwendung im Chat-Panel zu transformieren.

1. Wenn Ihre Java-Anwendung für die SQL-Konvertierung geeignet ist, werden Sie von Amazon Q aufgefordert, auszuwählen, welche Art von Transformation Sie durchführen möchten. Geben Sie **SQL conversion** ein. 

1. Amazon Q fordert Sie auf, die Schema-Metadatendatei hochzuladen, die Sie von Amazon S3 abgerufen haben. Im Chat bietet Amazon Q Anleitungen zum Abrufen der Datei. 

1. Amazon Q fordert Sie auf, das Projekt anzugeben, das die eingebettete SQL- und Datenbankschemadatei enthält. Wählen Sie die entsprechenden Dateien aus den Dropdown-Menüs im Chat-Bereich aus.

1. Vergewissern Sie sich, dass die von Amazon Q aus dem Datenbankschema abgerufenen Daten korrekt sind. 

1. Amazon Q beginnt mit der Konvertierung Ihres SQL-Codes. Dieser Vorgang kann einige Minuten dauern.

1. Nachdem Amazon Q den SQL-Code konvertiert hat, stellt es eine Diff-Anzeige mit allen Aktualisierungen bereit, die es an Ihren Dateien vorgenommen hat. Überprüfen Sie die Änderungen in den Diffs und akzeptieren Sie dann die Änderungen, um Ihren Code zu aktualisieren. 

   Amazon Q bietet auch eine Zusammenfassung der Transformation mit Details zu den vorgenommenen Änderungen.

1. Kehren Sie nach der Aktualisierung Ihres Codes zur AWS DMS-Konsole zurück, um zu überprüfen, ob das neue SQL mit der migrierten Datenbank kompatibel ist. 

# Transformieren von Code in der Befehlszeile mit Amazon Q Developer
<a name="transform-CLI"></a>

Mit dem Befehlszeilen-Transformationstool von Amazon Q Developer können Sie Ihre Anwendungen von der Befehlszeile aus transformieren. Wenn Sie Ihren Code transformieren möchten, geben Sie den Pfad zu Ihrem Quellcode und alle erforderlichen Konfigurationsdateien an. Amazon Q generiert dann in einer Reihe von Schritten neuen Code. Während der gesamten Transformation erstellt Amazon Q Code in Ihrer lokalen Umgebung, um Änderungen zu überprüfen. Weitere Informationen finden Sie unter [Entwickeln von Code in Ihrer lokalen Umgebung](#local-builds). Amazon Q erstellt einen neuen Branch in Ihrem Repository, in dem es die Codeänderungen festschreibt. Wenn die Transformation abgeschlossen ist, können Sie den Branch mit Ihrem ursprünglichen Branch zusammenführen, um die Änderungen in Ihre Codebasis zu übernehmen. 

Installieren Sie zunächst das Befehlszeilentool und authentifizieren Sie sich. Sehen Sie sich dann die Befehle zum Konfigurieren und Starten einer Transformation an. 

**Topics**
+ [

## Entwickeln von Code in Ihrer lokalen Umgebung
](#local-builds)
+ [

## Befehle
](#commands)
+ [

# Ausführen einer Transformation in der Befehlszeile mit Amazon Q Developer
](run-CLI-transformations.md)
+ [

# Problembehebung bei Transformationen in der Befehlszeile
](troubleshooting-CLI-transformations.md)
+ [

# Versionsverlauf des Befehlszeilen-Transformationstools für Amazon Q Developer
](transform-CLI-versions.md)

## Entwickeln von Code in Ihrer lokalen Umgebung
<a name="local-builds"></a>

Während einer Transformation führt Amazon Q Verifizierungs-Builds in Ihrer lokalen Umgebung durch. Amazon Q transformiert Ihren Code serverseitig in mehreren Schritten. Nach jedem Schritt sendet Amazon Q den Code an Ihre lokale Umgebung, um die vorgenommenen Änderungen zu erstellen und zu testen. Der Code wird dann an die Serverseite zurückgesendet, um die Transformation fortzusetzen. 

Der Build in Ihrer lokalen Umgebung hilft bei der Überprüfung des transformierten Codes, indem Amazon Q Tests ausführen kann, die Zugriff auf private Ressourcen erfordern. Damit Sicherheitsrisiken im Zusammenhang mit der Erstellung von KI-generiertem Code in Ihrer lokalen Umgebung minimiert werden, überprüft und aktualisiert Amazon Q den generierten Code, um Sicherheitsbedenken auszuräumen.

**Anmerkung**  
Amazon Q führt Transformationen auf der Grundlage der Anforderungen, Beschreibungen und Inhalte Ihres Projekts durch. Damit die Sicherheit gewährleistet wird, sollten Sie vermeiden, externe, ungeprüfte Artefakte in Ihr Projekt-Repository aufzunehmen. Überprüfen Sie außerdem den transformierten Code stets auf Funktionalität und Sicherheit.

## Befehle
<a name="commands"></a>

 step-by-stepAnweisungen zum Ausführen dieser Befehle finden Sie unter[Ausführen einer Transformation in der Befehlszeile mit Amazon Q Developer](run-CLI-transformations.md). 

Führen Sie folgenden Befehl aus, um eine Transformation zu konfigurieren und sich bei Amazon Q Developer Pro zu authentifizieren:

```
qct configure
```

Führen Sie den folgenden Befehl aus, um eine Transformation für ein Java-Upgrade zu starten. Für können Sie*<your-source-java-version>*,`JAVA_1.8`, `JAVA_8` `JAVA_11``JAVA_17`, oder eingeben`JAVA_21`. Für *<your-target-java-version>* können Sie entweder `JAVA_17` oder eingeben`JAVA_21`. Sowohl `--source_version` als auch `--target_version` sind optional. Das Flag `--trust` ermöglicht die Ausführung einer Transformation, während gleichzeitig der Code geprüft wird, um die Sicherheit zu gewährleisten.

```
qct transform --source_folder <path-to-folder>
    --source_version <your-source-java-version>        
    --target_version <your-target-java-version>
    --trust
```

Führen Sie folgenden Befehl aus, um eine Transformation für eine SQL-Konvertierung zu starten:

```
qct transform --source_folder <path-to-folder>
    --sql_conversion_config_file <path-to-sql-config-file>
```

Führen Sie folgenden Befehl aus, um festzustellen, welche Version des Befehlszeilentools Sie für die Transformation verwenden:

```
qct -v
```

Führen Sie folgenden Befehl aus, um Hilfe bei Transformationen zu erhalten:

```
qct -h
```

Führen Sie folgenden Befehl aus, um den Verlauf Ihrer Transformationsaufträge einzusehen:

```
qct history
```

Weitere Informationen zum Anzeigen und Verwalten Ihres Transformationsauftragsverlaufs finden Sie unter [Anzeigen des Auftragsverlaufs in der Befehlszeile](transformation-job-history.md#cli-job-history).

# Ausführen einer Transformation in der Befehlszeile mit Amazon Q Developer
<a name="run-CLI-transformations"></a>

Gehen Sie wie folgt vor, um Ihren Code in der Befehlszeile mit dem Befehlszeilentool Amazon Q Developer zu transformieren.

## Voraussetzungen
<a name="CLI-transformation-prerequisites"></a>

Bevor Sie eine Transformation über die Befehlszeile starten können, müssen die folgenden Voraussetzungen erfüllt sein:
+ Wenn Sie Ihre Java-Code-Version aktualisieren, erfüllt Ihr Projekt die [Voraussetzungen für ein Upgrade von Java-Versionen mit Amazon Q](code-transformation.md#java-upgrade-prerequisites).
+ Wenn Sie Embedded SQL in eine Java-Anwendung konvertieren, erfüllt Ihre Anwendung die [Voraussetzungen für die Konvertierung von Embedded SQL mit Amazon Q](transform-sql.md#sql-transform-prereqs).
+ Sie haben Python in Ihrer Befehlszeilenumgebung installiert. Sie installieren das Befehlszeilentool wie folgt. Die unterstützte Mindestversion für Python ist 3.12.
+ Sie führen die Transformation unter macOS oder Linux aus. 
+ Die Größe Ihrer Anwendung beträgt 2 GB oder weniger. 
+ Wenn Sie bestimmte Abhängigkeiten vorliegen haben, für die Amazon Q ein Upgrade durchführen soll, haben Sie eine [Upgrade-Datei für Abhängigkeiten](#step-3-dependency-upgrade-file) konfiguriert.

## Schritt 1: Auswählen der Authentifizierungsmethode und Hinzufügen von Berechtigungen
<a name="step-1-permissions-auth"></a>

Sie können IAM Identity Center authentifizieren, um Transformationen in der Befehlszeile auszuführen. Stellen Sie sicher, dass Sie über die entsprechenden Berechtigungen verfügen.

**Anmerkung**  
Vom Kunden verwaltete Schlüssel werden für Transformationen, die über die Befehlszeile ausgeführt werden, nicht unterstützt.

### Berechtigungen hinzufügen
<a name="transform-CLI-add-permissions"></a>

Die IAM-Identität, die mit dem Abonnement von Amazon Q Developer verknüpft ist, das Sie zur Authentifizierung verwenden, muss über die entsprechenden Berechtigungen verfügen, um Transformationen in der Befehlszeile durchzuführen. Bevor Sie fortfahren, stellen Sie sicher, dass Ihre IAM-Identität über die in [Zulassen, dass Benutzer Transformationen in der Befehlszeile ausführen](id-based-policy-examples-users.md#id-based-policy-examples-allow-cli-transformations) definierten Berechtigungen verfügt.

### Authentifizieren bei IAM Identity Center mit einem Abonnement von Amazon Q Developer Pro
<a name="auth-IdC"></a>

Wenn Sie sich bei IAM Identity Center authentifizieren möchten, muss Ihr Administrator für Sie [Amazon Q Developer Pro als Unternehmensbenutzer abonniert](subscribe-users.md) haben und Sie müssen die Start-URL angeben, um sich über Ihr Abonnement zu authentifizieren. Sie oder Ihr Administrator finden die Start-URL in der Konsole von Amazon Q Developer. Weitere Informationen erhalten Sie unter [Finden der Start-URL zur Verwendung mit Amazon Q Developer](manage-account-details.md).

Informationen zum Hinzufügen der erforderlichen Berechtigungen finden Sie unter [Berechtigungen hinzufügen](#transform-CLI-add-permissions).

Sie geben die Start-URL unter [Schritt 4: Konfigurieren und Authentifizieren](#step-4-configure-auth) ein.

## Schritt 2: Installieren des Tools
<a name="step-2-install"></a>



1. [Laden Sie das Amazon-Q-Befehlszeilentool für Transformationen](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip) herunter und entpacken Sie es.

   Informationen zum Herunterladen einer früheren Version des Befehlszeilentools finden Sie unter [Versionshistorie](transform-CLI-versions.md).

1. Wir empfehlen Ihnen, eine virtuelle Umgebung in Python einzurichten, um das Tool zu installieren. Zum Erstellen einer virtuellen Umgebung öffnen Sie ein Terminalfenster in dem Verzeichnis, in dem Sie das Tool installieren möchten, und führen Sie Folgendes aus:

   ```
   python -m venv qct-cli 
   ```

1. Führen Sie folgenden Befehl aus, um die virtuelle Umgebung zu aktivieren: 

   ```
   source qct-cli/bin/activate 
   ```

1. Wenn Sie das Tool in Ihrer Befehlszeile installieren möchten, führen Sie den folgenden Befehl mit dem Pfad aus, in dem Sie das Tool entpackt haben, basierend auf Ihrer Rechnerarchitektur:

------
#### [ Linux\$1aarch64 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
#### [ Linux\$1x86\$164 ]

   ```
   pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl
   ```

------
**Anmerkung**  
Wenn Sie eine ältere Version des Befehlszeilentools für Transformationen verwenden, ersetzen Sie `1.2.2` durch die [Version](transform-CLI-versions.md), die Sie heruntergeladen haben.

1. Führen Sie folgenden Befehl aus, um zu überprüfen, ob das Tool installiert wurde:

   ```
   which qct
   ```

## Schritt 3: Erstellen einer Upgrade-Datei für Abhängigkeiten (optional)
<a name="step-3-dependency-upgrade-file"></a>

Sie können Amazon Q eine *Upgrade-Datei für Abhängigkeiten* zur Verfügung stellen. Hierbei handelt es sich um eine YAML-Datei, in der die Abhängigkeiten Ihres Projekts und die Versionen aufgeführt sind, auf die während einer Transformation aktualisiert werden soll. Durch die Bereitstellung einer Upgrade-Datei für Abhängigkeiten können Sie Abhängigkeiten von Drittanbietern und Erstanbietern angeben, von denen Amazon Q sonst möglicherweise nicht weiß, dass sie aktualisiert werden sollen.

Abhängigkeiten von Erstanbietern beziehen sich auf die Bibliotheken, Plugins und Frameworks, die Ihre Organisation verwaltet und die nur lokal oder im privaten Netzwerk Ihrer Organisation verfügbar sind. Amazon Q kann auf Ihre Abhängigkeiten von Erstanbietern zugreifen, wenn es Builds in Ihrer lokalen Umgebung ausführt. Weitere Informationen finden Sie unter [Entwickeln von Code in Ihrer lokalen Umgebung](transform-CLI.md#local-builds). Bei Abhängigkeiten von Drittanbietern handelt es sich um öffentlich verfügbare oder Open-Source-Abhängigkeiten, die nicht nur für Ihr Unternehmen gelten.

Sie können Abhängigkeiten von Erstanbietern, die Sie aktualisieren möchten, in einer YAML-Datei angeben. Amazon Q aktualisiert sie dann während des JDK-Upgrades (z. B. Java 8 auf 17). Sie können nach dem ersten JDK-Upgrade eine separate Transformation (17 auf 17 oder 21 auf 21) initiieren, um Abhängigkeiten von Drittanbietern zu aktualisieren.

Sobald Amazon Q mindestens ein JDK-Upgrade durchgeführt hat, können Sie eine separate Transformation einleiten, um alle Abhängigkeiten von Drittanbietern zu aktualisieren. Alternativ können Sie Abhängigkeiten von Drittanbietern und deren Versionen in einer YAML-Datei angeben, um nur diese Abhängigkeiten während der Upgrade-Transformation der Bibliothek zu aktualisieren.

Amazon Q fordert Sie während der Transformation auf, eine Upgrade-Datei für Abhängigkeiten bereitzustellen. Wenn Sie eine Datei bereitstellen möchten, stellen Sie zunächst sicher, dass Sie sie richtig konfiguriert haben. Die folgenden Felder sind in der YAML-Datei erforderlich:
+ name – der Name der Upgrade-Datei für Abhängigkeiten
+ description (optional) – eine Beschreibung der Upgrade-Datei für Abhängigkeiten und die Angabe, für welche Transformation sie verwendet werden soll
+ dependencyManagement – enthält die Liste der Abhängigkeiten und Plugins, die aktualisiert werden sollen
+ dependencies – enthält den Namen und die Version der zu aktualisierenden Bibliotheken
+ plugins – enthält die Namen und Versionen der zu aktualisierenden Plugins
+ identifier – der Name der Bibliothek, des Plugins oder einer anderen Abhängigkeit
+ targetVersion – die Version der Abhängigkeit, auf die ein Upgrade durchgeführt werden soll
+ versionProperty (optional) – die Version der Abhängigkeit, die Sie definieren, wie sie mit dem Tag `properties` in der Datei `pom.xml` Ihrer Anwendung festgelegt ist
+ originType – gibt an, ob es sich bei der Abhängigkeit um eine Abhängigkeit von Erst- oder Drittanbietern handelt, angegeben durch FIRST\$1PARTY oder THIRD\$1PARTY.

Im Folgenden finden Sie ein Beispiel für eine YAML-Upgrade-Datei für Abhängigkeiten und die erforderliche Konfiguration, die Amazon Q analysieren muss:

```
name: dependency-upgrade
  
description: "Custom dependency version management for Java migration from JDK 8/11/17 to JDK 17/21"
  
  
dependencyManagement:
  
  dependencies:
  
    - identifier: "com.example:library1"
  
      targetVersion: "2.1.0"
  
      versionProperty: "library1.version"  # Optional
  
      originType: "FIRST_PARTY"   
  
    - identifier: "com.example:library2"
  
      targetVersion: "3.0.0"
  
      originType: "THIRD_PARTY"
  
  plugins:
  
    - identifier: "com.example.plugin"
  
      targetVersion: "1.2.0"
  
      versionProperty: "plugin.version"  # Optional
            
      originType: "THIRD_PARTY"
```

## Schritt 4: Konfigurieren und Authentifizieren
<a name="step-4-configure-auth"></a>

Bevor Sie mit einer Transformation beginnen können, müssen Sie sich bei IAM Identity Center authentifizieren und Konfigurationsdetails für Ihre Transformation angeben. 

1. Führen Sie den folgenden Befehl aus, um den Transformationskonfigurationsprozess zu starten:

   ```
   qct configure
   ```

1. Sie werden aufgefordert, einen JDK-Pfad für jede unterstützte Java-Version einzugeben. Sie müssen nur den Pfad zu JDK der Quellversion Ihrer Java-Anwendung angeben, nicht der Zielversion.

1. Als Nächstes werden Sie zur Authentifizierung bei IAM Identity Center aufgefordert, die Start-URL für Ihr Abonnementprofil von Amazon Q Developer Pro einzugeben.

   Geben Sie dann den Ort, AWS-Region an dem Sie abonniert wurden, im folgenden Format ein:`us-east-1`. Eine Liste der unterstützten -Regionen finden Sie unter [Unterstützte Regionen](regions.md). Eine Liste der Regionscodes finden Sie unter [Regionale Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) in der *Anleitung für Allgemeine AWS-Referenz *. 

1. Ihre Konfigurationseinstellungen werden in einer Datei configuration.ini gespeichert. 

## Schritt 5: Ausführen einer Transformation
<a name="step-5-run-transformation"></a>

Wählen Sie die Art der Transformation aus, die Sie durchführen, um die erforderliche Konfiguration und Befehle zu sehen. 

**Anmerkung**  
Schalten Sie Ihren lokalen Computer während der Codetransformation nicht aus, da für den clientseitigen Build eine stabile Netzwerkverbindung erforderlich ist.

------
#### [ Java upgrade ]

**Ändern des Transformationsplans**

Bei Upgrades der Java-Version generiert Amazon Q einen Transformationsplan, den Sie vor Beginn der Transformation überprüfen können. Sie haben die Möglichkeit, die folgenden Planänderungen anzufordern:
+ Die Bibliotheken, die Amazon Q aktualisieren soll, können Sie in der Liste, die im Plan enthalten ist, ändern.
  + Beispiele für Prompts:
    + Nur <dependency1>, <dependency2> und <dependency5> aktualisieren
    + <dependency1> oder <dependency2> nicht aktualisieren
+ Die Zielversion, auf die eine Bibliothek aktualisiert werden soll
  + Beispiele für Prompts:
    + <dependency> stattdessen auf diese Version <version> aktualisieren
+ Welche Schritte Amazon Q ausführen soll
  + Beispiele für Prompts:
    + Nur die Schritte 1–7 ausführen
    + Die Schritte 5–9 nicht ausführen
+ Zusätzliche Abhängigkeiten für das Upgrade hinzufügen (dies ist nur eine Option beim Upgrade auf eine neuere JDK-Version)
  + Beispiele für Prompts:
    + <dependency1> auch auf <version2> aktualisieren

**Aktualisieren von Java-Code**

1. Führen Sie den folgenden Befehl aus, um eine Transformation für ein Java-Upgrade zu starten. Ersetzen Sie `<path-to-folder>` durch den Pfad zu dem Ordner mit dem Code, den Sie transformieren, und `<your-target-java-version>` entweder durch `JAVA_17` oder `JAVA_21`.

   ```
   qct transform --source_folder <path-to-folder>
       --target_version <your-target-java-version>
   ```

   Zusätzliche Befehlsoptionen: 
   + Wenn Sie Abhängigkeiten für das Upgrade angeben, fügen Sie die Option `--dependency_upgrade_file` mit dem Pfad zu Ihrer Upgrade-Datei für Abhängigkeiten hinzu.
   + Wenn Sie den Transformationsplan nicht überprüfen oder aktualisieren möchten, fügen Sie Ihrem Befehl das Flag `--no-interactive` hinzu. Amazon Q wird Sie weder um Feedback zum Plan bitten noch haben Sie die Möglichkeit, Änderungen anzufordern.

1. Ihre Maven-Version wird verifiziert, bevor die Transformation beginnt. Wenn Sie über die unterstützte Mindestversion verfügen, erhalten Sie die folgende Ausgabe: 

   ```
   Running command: mvn --version at: path/to/current/directory 
   Your Maven version is supported for transformations.
   ```

   Wenn Sie keine unterstützte Version von Maven haben, müssen Sie diese aktualisieren, um fortzufahren. Weitere Informationen hierzu finden Sie unter [Voraussetzungen](#CLI-transformation-prerequisites). 

1. Wenn Sie das Flag `--no-interactive` nicht hinzugefügt haben, werden Sie von Amazon Q aufgefordert, Feedback zum Transformationsplan zu geben. Sie können die Änderungen, die Sie vornehmen möchten, in natürlicher englischer Sprache erläutern. Amazon Q aktualisiert den Plan, sofern er die von Ihnen angeforderten Änderungen unterstützt. 

1. Amazon Q beginnt mit der Transformation. Es werden während der gesamten Transformation Statusaktualisierungen ausgegeben. Wenn der Vorgang abgeschlossen ist, gibt Amazon Q den Pfad an, in dem die Transformationsergebnisse, Protokolle und Konfigurationsdateien ausgegeben werden. 

   Ihr aktualisierter Code wird dem neuen Branch zugewiesen, den Amazon Q erstellt hat. Amazon Q überträgt den Code in einem oder mehreren Commits, je nachdem, welche Auswahl Sie bei der Ausführung von `qct configure` getroffen haben. 

1. Wenn Sie nach dem Upgrade Ihrer Java-Version eine weitere Transformation ausführen, starten Sie die zweite Transformation in dem Branch, in dem Sie die Änderungen aus der ersten Transformation festgeschrieben haben. 

------
#### [ SQL conversion ]

Bevor Sie beginnen, lesen Sie den Abschnitt [Konvertieren von Embedded SQL in Java-Anwendungen mit Amazon Q Developer](transform-sql.md), damit Sie die Voraussetzungen für diese Art von Transformation verstehen. 

1. Wenn Sie Embedded SQL konvertieren möchten, müssen Sie zunächst eine YAML-Datei erstellen, die den Pfad zur Schema-Metadatendatei aus Ihrer [AWS DMS -Schemakonvertierung](https://docs.aws.amazon.com/dms/latest/sbs/schema-conversion-oracle-postgresql.html) enthält.

   Für die Datei ist folgendes Format erforderlich: 

   ```
   schema_conv_metadata_path: <path-to-metadata-zip-file>
   ```

1. Führen Sie den folgenden Befehl aus, um eine Transformation für eine SQL-Konvertierung zu starten. Ersetzen Sie `<path-to-folder>` durch den Pfad zu dem Ordner mit dem Code, den Sie transformieren, und `<path-to-sql-config-file>` durch den Pfad zu der YAML-Datei, die Sie in Schritt 1 erstellt haben.

   ```
   qct transform --source_folder <path-to-folder>
       --sql_conversion_config_file <path-to-sql-config-file>
   ```

1. Wenn Amazon Q mehrere Schemata in Ihrer Schema-Metadatendatei findet, wird die Transformation gestoppt und eine Liste der erkannten Schemata bereitgestellt. Wählen Sie aus, welches Schema für die SQL-Konvertierung verwendet werden soll, und fügen Sie dann der YAML-Datei ein neues Feld `schema: <schema-name>` hinzu. 

1. Amazon Q beginnt mit der Transformation. Es werden während der gesamten Transformation Statusaktualisierungen ausgegeben. Wenn der Vorgang abgeschlossen ist, gibt Amazon Q den Pfad an, in dem die Transformationsergebnisse, Protokolle und Konfigurationsdateien ausgegeben werden. 

   Ihr aktualisierter Code wird dem neuen Branch zugewiesen, den Amazon Q erstellt hat.

------

## Anhalten oder Abbrechen einer Transformation
<a name="pause-cancel-CLI-transformations"></a>

Sie können wählen, ob Sie Ihren aktuellen Transformationsauftrag anhalten oder abbrechen möchten. Sie können einen Transformationsauftrag für bis zu 12 Stunden anhalten, bevor Sie ihn fortsetzen können.

**So halten Sie einen Codetransformationsauftrag an oder brechen ihn ab**

1. Drücken Sie in Ihrem CLI-Terminal **Strg\$1C** auf Ihrer Tastatur.

1. Wählen Sie aus, ob Sie Ihre Transformation anhalten oder abbrechen möchten.
   + Geben Sie `1` ein, wenn Sie den Codetransformationsauftrag anhalten möchten. Sie können den Auftrag innerhalb von 12 Stunden wieder aufnehmen, um die Codetransformation mit dem folgenden QCT-Befehl fortzusetzen: ``qct transform --source_folder=≤/Path/Given/Originally/To/QCT>``
   + Geben Sie `2` ein, wenn Sie den Codetransformationsauftrag abbrechen möchten.

# Problembehebung bei Transformationen in der Befehlszeile
<a name="troubleshooting-CLI-transformations"></a>

Die folgenden Informationen können Ihnen helfen, häufig auftretende Probleme bei der Transformation von Anwendungen in der Befehlszeile mit Amazon Q Developer zu beheben.

## Warum wird mein Bearer-Token nicht aktualisiert?
<a name="bearer-token-refresh"></a>

Wenn der folgende Fehler angezeigt wird, bedeutet dies, dass Sie das für die Authentifizierung verwendete Bearer-Token aktualisieren müssen.

```
Refreshing bearer token
('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))
('Error getting bearer token due to: ', RuntimeError(('Error refreshing bearer token due to: ', InvalidGrantException('An error occurred (InvalidGrantException) when calling the CreateToken operation: '))))
```

Führen Sie den folgenden Befehl aus, um diesen Fehler zu beheben:

```
rm ~/.aws/qcodetransform/credentials.json
```

Nachdem Sie die veraltete Anmeldeinformationsdatei entfernt haben, führen Sie den Befehl `qct transform` erneut aus, um die Transformation neu zu starten.

## Warum wird nicht die neueste Version des Befehlszeilentools verwendet?
<a name="install-latest-version"></a>

Wenn Sie eine neue Version des Befehlszeilentools für Transformationen herunterladen, wird mitunter immer noch eine frühere Version des Tools verwendet.

Wenn Sie sicherstellen möchten, dass Sie die neueste Version des Tools verwenden, laden Sie die [neueste Version](transform-CLI-versions.md) herunter. Führen Sie den folgenden Befehl mit dem Pfad aus, in dem Sie das Tool entpackt haben, basierend auf Ihrer Rechnerarchitektur:

------
#### [ Linux\$1aarch64 ]

```
pip install <path/to/unzipped-tool>/Linux_aarch64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------
#### [ Linux\$1x86\$164 ]

```
pip install <path/to/unzipped-tool>/Linux_x86_64/amzn_qct_cli-1.2.2-py3-none-any.whl --force-reinstall
```

------

**Anmerkung**  
Wenn Sie eine ältere Version des Befehlszeilentools für Transformationen verwenden, ersetzen Sie `1.2.2` durch die [Version](transform-CLI-versions.md), die Sie heruntergeladen haben.

# Versionsverlauf des Befehlszeilen-Transformationstools für Amazon Q Developer
<a name="transform-CLI-versions"></a>

Die folgenden Informationen enthalten Details zu aktuellen und früheren Versionen des Befehlszeilen-Transformationstools von Amazon Q Developer. Die Tabelle enthält den Download-Link, das Veröffentlichungsdatum und die Versionshinweise für jede Version. 


****  

| Version | Datum der Veröffentlichung | Versionshinweise | 
| --- | --- | --- | 
|   [1.2.2 (aktuell)](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.2.zip)   | 26. Februar 2026 | Werbebanner für AWS Transform Custom zur QCT CLI hinzugefügt. Anzeige eines Banners bei der Ausführung von Transformationsbefehlen und Hilfetext. Neues Flag --skip-banner zur Unterdrückung der Bannerausgabe. | 
|   [1.2.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.1.zip)   | 9. September 2025 | Die Maven-Erweiterung wurde aktualisiert, sodass sie POMs beim ersten Projekt-Upload eine übergeordnete Komponente aus erster Hand einbezieht | 
|   [1.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.2.0.zip)   | 7. August 2025 | Unterstützung für die Anzeige des Auftragsverlaufs und für die Visualisierung der Modulstruktur für Maven-Java-Projekte wurde hinzugefügt. | 
|   [1.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.1.0.zip)   | 21. Juli 2025 | Diese Version bietet Unterstützung für die Erfassung von Telemetriedaten zu Transformationen. | 
|   [1.0.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-1.0.0.zip)   | 27. Juni 2025 | Das Befehlszeilen-Transformationstool ist allgemein verfügbar und unterstützt die Authentifizierung über AWS IAM Identity Center nur mit einem Amazon Q Developer Pro-Abonnement. Es wurde Unterstützung für Abonnements in der Region Europa (Frankfurt) hinzugefügt. | 
|   [0.6.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.6.0.zip)   | 6. Juni 2025 | Diese Version bietet Unterstützung für die Bereitstellung einer Upgrade-Datei für Abhängigkeiten und die Iteration des Transformationsplans. | 
|   [0.5.2](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.2.zip)   | 16. April 2025 | Bugfixes zur Behebung von Problemen bei der Wiederaufnahme von Aufträgen und Fehlern bei Anwendungen mit Abhängigkeiten von Erstanbietern wurden hinzugefügt. | 
|   [0.5.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.1.zip)   | 13. März 2025 | Wenn Sie sich mit IAM authentifizieren, müssen Sie keine AWS-Region mehr angeben. Die Version enthält auch einen Bugfix, um den Auftragsstatus in die Ausgabeprotokolle aufzunehmen.  | 
|   [0.5.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.5.0.zip)   | 28. Februar 2025 | Beinhaltet Unterstützung für die Authentifizierung mit IAM über die. AWS CLI | 
|   [0.4.1](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.1.zip)   | 17. Februar 2025 | Bugfix zur Unterstützung der Eingabe des Ortes, AWS-Region an dem Ihr Amazon Q Developer-Abonnement konfiguriert ist. | 
|   [0.4.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.4.0.zip)   | 14. Februar 2025 | Diese Version bietet Unterstützung für das Upgrade von Java-Anwendungen auf Java 21. | 
|   [0.3.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.3.0.zip)   | 12. Februar 2025 | Diese Version bietet Unterstützung für die Konvertierung von Embedded SQL in Java-Anwendungen. | 
|   [0.2.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.2.0.zip)   | 3. Februar 2025 | Diese Version bietet Unterstützung für den Empfang von aktualisiertem Java-Code in mehreren Commits. | 
|  [0.1.0](https://desktop-release.codewhisperer.us-east-1.amazonaws.com/amzn_qct_cli/amzn_qct_cli-0.1.0.zip)  | 27. November 2024 | Erstversion. Diese Version bietet Unterstützung für das Aktualisieren von Java-Codeversionen über die Befehlszeile. | 

# Anzeigen des Verlaufs der Transformationsaufträge
<a name="transformation-job-history"></a>

Amazon Q bietet einen umfassenden Überblick über den Verlauf Ihrer Java-Transformationsaufträge, sodass Sie die Aufträge sowohl in IDEs als auch in der Befehlszeile verfolgen und überprüfen können.

Der Verlauf der Transformationsaufträge umfasst die folgenden Informationen zu einem Auftrag:
+ **Datum** – wann der Transformationsauftrag ausgeführt wurde
+ **Projektname** – der Name des Projekts, das transformiert wurde
+ **Status** – der aktuelle Status des Transformationsauftrags
+ **Dauer** – wie lange es gedauert hat, bis die Transformation abgeschlossen war
+ **Auftrags-ID** – eine eindeutige Kennung für den Transformationsauftrag
+ **Diff-Patch** – ein Link oder Pfad zur endgültigen Diff-Patch-Datei, in der alle Codeänderungen aufgeführt sind
+ **Zusammenfassung** – ein Link oder Pfad zur Datei mit der Transformationszusammenfassung, die Details zu den vorgenommenen Änderungen enthält

**Anmerkung**  
Nur Transformationen, die seit der Veröffentlichung dieser Funktion ausgeführt wurden, sind im Auftragsverlauf verfügbar. Das Veröffentlichungsdatum der Funktion finden Sie unter [Dokumentverlauf für das Benutzerhandbuch von Amazon Q Developer](doc-history.md). 

## Anzeigen des Auftragsverlaufs in IDEs
<a name="ide-job-history"></a>

**Anmerkung**  
Diese Funktion ist aktuell nur in Visual Studio Code verfügbar.

Der Transformation Hub in Visual Studio Code bietet einen umfassenden Überblick über Ihres Verlaufs von Java-Transformationsaufträgen. 

In einer Tabelle im Transformation Hub sind Ihre 10 letzten Transformationsaufträge der vergangenen 30 Tage aufgeführt. Von der Tabelle aus können Sie auf Transformationsartefakte zugreifen und Aufträge aktualisieren, um den Fortschritt zu verfolgen und fehlende Artefakte zu ermitteln.

### Abrufen von Transformationsartefakten
<a name="retrieve-artifacts"></a>

In der Tabelle mit dem Auftragsverlauf können Sie auf Transformationsartefakte wie die Diff-Patches und Zusammenfassungsdateien zugreifen. Wählen Sie die entsprechenden Links, um die Diff-Datei oder die Zusammenfassung in Ihrer IDE zu öffnen.

Artefakte werden lokal im Verzeichnis `.aws/transform` gespeichert, sodass Sie auch auf zuvor heruntergeladene Transformationsartefakte aus früheren Aufträgen zugreifen können.

### Aktualisieren des Auftragsstatus
<a name="refresh-jobs"></a>

Sie können den Auftragsstatus in der Tabelle mit dem Auftragsverlauf aktualisieren. Aktualisieren Sie einen fehlgeschlagenen Auftrag, um einen aktualisierten Status von der Serverseite zu erhalten, die Ihren Server möglicherweise noch nicht erreicht hat, z. B. wenn Amazon Q einen fehlgeschlagenen Auftrag fortsetzen kann. Sie können auch abgeschlossene Aufträge aktualisieren, um Artefakte herunterzuladen, die möglicherweise noch nicht angezeigt werden. 

### So wird der Auftragsverlauf für Aufträge gespeichert, die in der IDE ausgeführt werden
<a name="ide-history-storage"></a>

Für Visual Studio Code werden alle Informationen und Artefakte von Transformationsaufträgen lokal im Verzeichnis `.aws/transform` gespeichert. Der Speicher ist wie folgt organisiert:

```
.aws/transform/
├── [project-name-1]/
│   ├── [job-id-1]/
│   │   ├── diff.patch
│   │   ├── [summary-1]/
│   │   │   └── summary.md
│   │   │   └── buildCommandOutput.log
│   └── [job-id-2]/
│       ├── diff.patch
│       ├── [summary-2]/
│       │   └── summary.md
│       │   └── buildCommandOutput.log
└── [project-name-2]/
    └── [job-id-3]/
        ├── diff.patch
        ├── [summary-3]/
        │   └── summary.md
        │   └── buildCommandOutput.log
```

## Anzeigen des Auftragsverlaufs in der Befehlszeile
<a name="cli-job-history"></a>

Bei Transformationen in der Befehlszeile bietet der Befehl **qct history** Zugriff auf Ihren Verlauf von Transformationsaufträgen mit Anpassungsoptionen.

Für die CLI werden alle Verlaufsinformationen von Transformationsaufträgen lokal im Verzeichnis `.aws/qcodetransform/history/` gespeichert.

### Verwenden des Befehls qct history
<a name="cli-history-command"></a>

Der grundlegende Befehl zum Anzeigen Ihres Verlaufs von Transformationsaufträgen lautet:

```
qct history
```

Standardmäßig zeigt dieser Befehl die 10 letzten Transformationsaufträge sowie alle angehaltenen oder in Bearbeitung befindlichen Aufträge an.

Sie können auch angeben, wie viele Einträge im Auftragsverlauf mit dem Flag **--limit** angezeigt werden sollen. Wenn Sie beispielsweise 20 Aufträge anzeigen möchten, führen Sie folgenden Befehl aus:

```
qct history --limit 20
```

# Behebung von Problemen bei Java-Transformationen
<a name="troubleshooting-code-transformation"></a>

Die folgenden Informationen können Ihnen helfen, häufig auftretende Probleme bei der Transformation von Java-Anwendungen mit Amazon Q Developer zu beheben.

**Topics**
+ [

## Warum kann Amazon Q mein Projekt nicht hochladen?
](#project-upload-fail)
+ [

## Warum schlagen meine Maven-Befehle fehl?
](#maven-commands-failing)
+ [

## Wie füge ich Maven meinem `PATH` hinzu?
](#add-maven-to-path)
+ [

## Warum kann Amazon Q meinen Code nicht erstellen?
](#build-fail)
+ [

## Warum ist meine Transformation nach 55 Minuten fehlgeschlagen?
](#build-time-limit)
+ [

## Warum kann ich meinen transformierten Code nicht herunterladen?
](#download-code-fail)
+ [

## Wie greife ich auf Code-Transformationsprotokolle zu?
](#logs)
+ [

## Wie finde ich meine Transformationsauftrags-ID?
](#job-id)

## Warum kann Amazon Q mein Projekt nicht hochladen?
<a name="project-upload-fail"></a>

Wenn Ihr Projekt nicht hochgeladen werden kann, liegt dies wahrscheinlich an einem der folgenden Probleme. Sehen Sie sich das Thema an, das dem Fehler entspricht, den Sie von Amazon Q erhalten haben. 

**Topics**
+ [

### Reduzierung der Projektgröße
](#reduce-project-size)
+ [

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
](#configure-proxy)
+ [

### Zulassen des Zugriffs auf Amazon S3
](#allowlist-s3-bucket)

### Reduzierung der Projektgröße
<a name="reduce-project-size"></a>

Zum Transformieren Ihres Codes generiert Amazon Q ein Projektartefakt, das Ihren Quellcode, Projektabhängigkeiten und Build-Protokolle enthält. Die maximale Größe des Projektartefakts für einen Transformationsauftrag beträgt 2 GB. Wenn Sie im Zusammenhang mit der Größe des Projektartefakts eine Fehlermeldung erhalten, müssen Sie die Größe Ihres Projekts verringern oder versuchen, ein kleineres Projekt zu transformieren. Sie können die Größe Ihrer Projektartefaktdatei in den Codetransformationsprotokollen einsehen. Weitere Informationen finden Sie unter [Wie greife ich auf Code-Transformationsprotokolle zu?](#logs).

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
<a name="configure-proxy"></a>

Zum Transformieren Ihres Codes lädt Amazon Q Ihr Projektartefakt in einen serviceeigenen Amazon-S3-Bucket hoch. Im Rahmen des Upload-Vorgangs werden SSL- oder TLS-Zertifikate verwendet, um die Kommunikation zwischen Amazon S3 und Ihrer IDE herzustellen. Wenn Sie einen Proxy-Server verwenden, müssen die von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikate vertrauenswürdig sein, andernfalls kann Amazon Q Ihr Projekt nicht hochladen. 

Wenn Sie einen Fehler im Zusammenhang mit Ihrem Proxy oder Ihren Zertifikaten erhalten, müssen Sie gegebenenfalls Ihre IDE oder Ihr Betriebssystem so konfigurieren, dass es Ihren Zertifikaten vertraut, oder andere Proxy-Einstellungen aktualisieren.

**Anmerkung**  
Wenn Sie sich hinter dem Proxy-Server oder der Firewall Ihres Unternehmens befinden, treten möglicherweise auch Probleme auf, die nichts mit Zertifikaten zu tun haben. Wenn Sie die folgenden Verfahren zur Konfiguration Ihrer Zertifikate ausführen und nach wie vor Probleme auftreten, wenden Sie sich an Ihren Netzwerkadministrator, um sicherzustellen, dass Sie von Ihrer IDE aus mit Amazon S3 kommunizieren dürfen. Weitere Informationen finden Sie unter [Zulassen des Zugriffs auf Amazon S3](#allowlist-s3-bucket). 

#### Konfigurieren von Zertifikaten in JetBrains
<a name="configure-proxy-JB"></a>

Damit Sie Ihre Java-Laufzeitumgebung (JRE) der JetBrains-IDE so konfigurieren, dass sie den von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikaten vertraut, müssen Sie die SSL- oder TLS-Zertifikate in die Datei `cacerts` in der JRE importieren. Die Datei `cacerts` enthält vertrauenswürdige Stammzertifikate für sichere Verbindungen wie HTTPS und SSL. Sie ist Teil der JRE-Sicherheitseinstellungen. Gehen Sie wie folgt vor, um ein Zertifikat zu importieren. 

**Anmerkung**  
Wir empfehlen, vor der Änderung eine Sicherungskopie der Datei `cacerts` zu erstellen, da Fehler zu Problemen mit sicheren Verbindungen führen können.

1. Ermitteln Sie den Pfad zur Datei `cacerts` in Ihrer JRE. Der Pfad der Datei `cacerts` in der internen JRE, die im Lieferumfang Ihrer JetBrains-IDE enthalten ist, hängt vom Betriebssystem und der Version der JetBrains-IDE ab, die Sie verwenden. 

   Im Folgenden finden Sie Beispiele für Pfade zur Datei `cacerts` in gängigen Betriebssystemen. Wählen Sie Ihr Betriebssystem aus, um Beispiele zu sehen.
**Anmerkung**  
 `<JetBrains Installation Folder>` bezieht sich auf das Verzeichnis, in dem JetBrains-Produkte installiert sind. Dieses Verzeichnis wird normalerweise während des Installationsvorgangs ausgewählt.  
Der `jbr` Ordner stellt die mitgelieferte JRE dar. Dabei handelt es sich um eine spezielle Version der JRE JetBrains IDEs, die auf die Verwendung mit zugeschnitten ist. JetBrains IDEs

------
#### [ Windows ]

   Der `cacerts`-Dateipfad für eine unter Windows installierte JetBrains-IDE lautet:

   ```
   <JetBrains Installation Folder>\jbr\bin\cacerts
   ```

   Wenn Sie beispielsweise eine JetBrains-IDE unter Windows im Standardverzeichnis installiert haben, könnte der Pfad wie folgt lauten:

   ```
   C:\Program Files\JetBrains\jbr\bin\cacerts
   ```

------
#### [ macOS ]

   Der `cacerts`-Dateipfad für eine unter macOS installierte JetBrains-IDE lautet:

   ```
   /Applications/JetBrains Toolbox/<version>/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts
   ```

   Wenn Sie beispielsweise eine JetBrains-IDE unter macOS im Standardverzeichnis installiert haben, könnte der Pfad wie folgt lauten:

   ```
   /Applications/JetBrains Toolbox/2022.3.4/JetBrains Toolbox.app/Contents/jbr/Contents/Home/lib/security/cacerts
   ```

------
#### [ Linux ]

   Der `cacerts`-Dateipfad für eine unter Linux installierte JetBrains-IDE lautet:

   ```
   /opt/jetbrains/jbr/lib/security/cacerts
   ```

------

1. Ermitteln Sie das Zertifikat, das Sie in die Datei `cacerts` importieren müssen. Die Zertifikatsdatei hat in der Regel die Dateierweiterung `.cer`, `.crt` oder `.der`. Wenn Sie nicht sicher sind, welche Zertifikate Sie hinzufügen müssen, wenden Sie sich an Ihren Netzwerkadministrator.

1. Importieren Sie das Zertifikat in den Keystore `cacerts`. Für diesen Vorgang können Sie den Java-Befehl `keytool` verwenden. 

   1. Öffnen Sie eine Eingabeaufforderung und geben Sie den folgenden Befehl ein:

      ```
      keytool -import -alias <alias> -file <certificate_file> -keystore <path_to_cacerts>
      ```

   1. Für `<alias>` können Sie einen Namen für das Zertifikat hinzufügen, das Sie importieren, um später darauf verweisen zu können. Diese Option ist optional.

   1. Geben Sie für `<certificate_file>` den Pfad zu dem Zertifikat an, das Sie importieren. Dies sollte ein Pfad zu der Datei `.cer`, `.crt` oder `.der` sein, die das Zertifikat enthält.

   1. Geben Sie als `<path_to_cacerts>` den Pfad zu der in Schritt 1 gespeicherten Keystore-Datei `cacerts` an. Dies ist die Datei, in die Sie das Zertifikat importieren. 

   Wenn Sie beispielsweise ein Zertifikat mit dem Namen `my_certificate.cer` in den Keystore `cacerts` der gebündelten JRE in IntelliJ IDEA unter Windows importieren möchten, und Sie dem Zertifikat den Alias `myalias` geben möchten, könnte der Befehl wie folgt lauten:

   ```
   keytool -import -alias myalias -file my_certificate.cer -keystore "C:\Program Files\JetBrains\IntelliJ IDEA 2022.3.2\jbr\bin\cacerts"
   ```

1. Während des Importvorgangs werden Sie aufgefordert, das Keystore-Passwort einzugeben. Das Standardkennwort für den Keystore `cacerts` lautet `changeit`. 

1. Nachdem Sie den Befehl ausgeführt haben, werden Sie aufgefordert, zu bestätigen, dass Sie dem Zertifikat vertrauen. Geben Sie `yes` ein, um zu bestätigen, dass das Zertifikat vertrauenswürdig ist, und den Import abzuschließen.

1. Möglicherweise müssen Sie die Zertifikate neben der JRE auch zur IDE hinzufügen. Weitere Informationen erhalten Sie unter [Server Certificates](https://www.jetbrains.com/help/idea/settings-tools-server-certificates.html) in der JetBrains-Dokumentation.

#### Konfigurieren von Zertifikaten in Visual Studio Code
<a name="configure-proxy-VSC"></a>

Damit Visual Studio Code so konfiguriert wird, dass den von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikaten vertraut wird, stellen Sie sicher, dass Sie die folgenden Proxy-Einstellungen für Ihr Betriebssystem konfiguriert haben.

##### Konfigurieren von Zertifikaten in Visual Studio Code unter macOS
<a name="certs-mac"></a>

Konfigurieren Sie die folgenden Proxy-Einstellungen für Visual Studio Code unter macOS.

##### Hinzufügen von Zertifikaten zu Ihrem macOS-Schlüsselbund
<a name="w2aac11c16c17c13c23b7b9c11b5b1b5"></a>

Sie müssen die von Ihrem Proxy-Server verwendeten Zertifikate Ihrem macOS-Schlüsselbund hinzufügen, falls Sie dies noch nicht getan haben. Informationen zum Hinzufügen von Zertifikaten zu Ihrem Schlüsselbund finden Sie unter [Hinzufügen von Zertifikaten zu einem Schlüsselbund mit der Schlüsselbundverwaltung auf dem Mac](https://support.apple.com/guide/keychain-access/add-certificates-to-a-keychain-kyca2431/mac) im Benutzerhandbuch für die Schlüsselbundverwaltung.

##### Installieren Sie die Mac CA-Erweiterung VSCode
<a name="w2aac11c16c17c13c23b7b9c11b5b1b7"></a>

Die [ VSCode Mac-CA-Erweiterung](https://marketplace.visualstudio.com/items?itemName=linhmtran168.mac-ca-vscode) ermöglicht Amazon Q den Zugriff auf die Zertifikate, die Sie zu Keychain Access auf Ihrem Mac hinzugefügt haben. 

So installieren Sie die Erweiterung:

1. Suchen Sie `mac-ca-vscode` im VS Code-Erweiterungsbereich und wählen Sie **Installieren** aus. 

1. Starten Sie VS Code neu.

##### Aktualisieren der Proxy-Einstellungen in VS Code unter macOS
<a name="w2aac11c16c17c13c23b7b9c11b5b1b9"></a>

Aktualisieren Sie die folgenden Einstellungen, um sicherzustellen, dass VS Code für Ihren Proxy richtig konfiguriert sind. 

1. Öffnen Sie die Einstellungen in VS Code.

1. Geben Sie im Suchfeld `proxy` ein.

1. Fügen Sie im Feld **Http: Proxy** Ihre Proxy-URL hinzu.

1. Deaktivieren Sie **Http: Proxy Strict SSL**.

1. Wählen Sie in der Dropdown-Liste **Http: Proxy Support** die Option **on** aus.

1. Geben Sie im Suchfeld „Einstellungen“ `http.experimental.systemCertificatesV2` ein. Wählen Sie **Http › Experimental: System Certificates V2** aus. 

##### Konfigurieren von Zertifikaten in Visual Studio Code unter Windows
<a name="certs-windows"></a>

Konfigurieren Sie die folgenden Proxy-Einstellungen für Visual Studio Code unter Windows.

##### Hinzufügen des Zertifikats unter Windows als vertrauenswürdiges Stammzertifikat
<a name="w2aac11c16c17c13c23b7b9c11b5b3b5"></a>

Sie müssen die von Ihrem Proxy-Server verwendeten Zertifikate Ihrem Speicher für vertrauenswürdige Stammzertifizierungsstellen unter Windows hinzufügen, falls Sie dies noch nicht getan haben. Gehen Sie wie folgt vor, um ein Zertifikat hinzuzufügen: 

1. Öffnen Sie das Suchtool oder das Befehlsfenster „Ausführen“. 

1. Geben Sie Folgendes ein, um das Certificate-Manager-Tool zu öffnen:

   ```
   certmgr.msc
   ```

1. Wählen Sie den Speicher **Vertrauenswürdige Stammzertifizierungsstellen** aus.

1. Klicken Sie mit der rechten Maustaste auf **Zertifikate**, **Alle Aufgaben** und **Importieren …**

1. Folgen Sie den angegebenen Anweisungen, um Ihr Proxy-Zertifikat zu importieren.

1. Nachdem Sie Ihr Zertifikat importiert haben, vergewissern Sie sich, dass das Zertifikat hinzugefügt wurde. 

   Doppelklicken Sie im Speicher **Vertrauenswürdige Stammzertifizierungsstellen** auf **Zertifikate**. Klicken Sie mit der rechten Maustaste auf das hinzugefügte Zertifikat und wählen Sie **Eigenschaften** aus. Unter **Zertifikatszwecke** sollte die Option **Alle Zwecke für dieses Zertifikat aktivieren** ausgewählt sein.

##### Installieren Sie die Win-CA-Erweiterung VSCode
<a name="w2aac11c16c17c13c23b7b9c11b5b3b7"></a>

Die [ VSCode Win-CA-Erweiterung](https://marketplace.visualstudio.com/items?itemName=ukoloff.win-ca) ermöglicht Amazon Q den Zugriff auf die Zertifikate, die Sie zu Trusted Root Certificates in Windows hinzugefügt haben. 

So installieren Sie die Erweiterung:

1. Suchen Sie `win-ca ` im VS Code-Einstellungsbereich.

1. Wählen Sie in der Dropdown-Liste **Inject** die Option **Append** aus.

##### Aktualisieren der Proxy-Einstellungen in VS Code unter Windows
<a name="w2aac11c16c17c13c23b7b9c11b5b3b9"></a>

Aktualisieren Sie die folgenden Einstellungen, um sicherzustellen, dass VS Code für Ihren Proxy richtig konfiguriert sind. 

1. Öffnen Sie die Einstellungen in VS Code.

1. Geben Sie im Suchfeld `proxy` ein.

1. Fügen Sie im Feld **Http: Proxy** Ihre Proxy-URL hinzu.

1. Deaktivieren Sie **Http: Proxy Strict SSL**.

1. Wählen Sie in der Dropdown-Liste **Http: Proxy Support** die Option **on** aus.

1. Geben Sie im Suchfeld „Einstellungen“ `http.experimental.systemCertificatesV2` ein. Wählen Sie **Http › Experimental: System Certificates V2** aus. 

1. Starten Sie VS Code neu.

### Zulassen des Zugriffs auf Amazon S3
<a name="allowlist-s3-bucket"></a>

Während einer Transformation lädt Amazon Q Ihren Code in einen serviceeigenen Amazon-S3-Bucket hoch. Wenn Ihr Netzwerk oder Ihre Organisation den Zugriff auf Amazon S3 nicht konfiguriert hat, kann Amazon Q Ihr Projekt nicht hochladen. 

Damit Amazon Q Ihr Projekt hochladen kann, stellen Sie sicher, dass Ihre Proxy-Konfiguration und andere Netzwerkkomponenten, wie Data Lost Prevention (DLP)-Richtlinien, so konfiguriert sind, dass sie den Zugriff auf Amazon S3 erlauben. Es könnte sein, dass Sie auch den Amazon-S3-Bucket, in den Amazon Q Ihr Projekt hochlädt, auf die Zulassungsliste setzen müssen. Weitere Informationen finden Sie unter [Amazon S3 S3-Bucket URLs und ARNs zur Allowlist](firewall.md#data-perimeters). 

Beim Transformieren eines großen Projekts können DLP-Richtlinien oder andere Netzwerkkomponenten Verzögerungen verursachen und einen erfolgreichen Upload verhindern, wenn sie nicht so konfiguriert sind, dass sie den Amazon-S3-Bucket zulassen. Wenn Sie den Bucket nicht auf die Zulassungsliste setzen möchten, müssen Sie möglicherweise ein kleineres Projekt transformieren, damit Amazon Q es hochladen kann.

## Warum schlagen meine Maven-Befehle fehl?
<a name="maven-commands-failing"></a>

Im Folgenden sind Maven Konfigurationsprobleme aufgeführt, die möglicherweise im JetBrains und Visual Studio Code IDEs auftreten. Wenn Sie die Probleme beheben und weiterhin Maven-Fehler auftreten, liegt möglicherweise ein Problem mit Ihrem Projekt vor. Verwenden Sie die Informationen in den Fehlerprotokollen, um alle Probleme mit Ihrem Projekt zu beheben. Versuchen Sie dann erneut, Ihr Projekt zu transformieren. 

### Aktualisieren der Maven-Konfiguration in JetBrains
<a name="jetbrains"></a>

Wenn eine Transformation in JetBrains aufgrund von Maven-Befehlsproblemen fehlschlägt, werden die Fehlerprotokolle auf der Registerkarte **Ausführen** angezeigt. Verwenden Sie die Informationen in den Protokollen, um das Problem zu beheben. Im Folgenden sind einige Probleme aufgeführt, die Sie möglicherweise beheben müssen: 
+ Vergewissern Sie sich, dass Ihr Maven-Home-Pfad auf **Bundled** eingestellt ist. Erweitern Sie im Dialogfeld **Settings** den Abschnitt **Build, Execution, Deployment**. Erweitern Sie den Abschnitt **Build Tools** und dann **Maven**. Wählen Sie in der Dropdown-Liste **Maven home path** die Option **Bundled** aus. 
+ Stellen Sie sicher, dass die Java-Laufzeitumgebung (JRE) Ihr Projekt-JDK verwendet. Erweitern Sie im Dialogfeld **Settings** den Abschnitt **Build, Execution, Deployment**. Erweitern Sie **Maven** und wählen Sie **Runner** aus. Wählen Sie in der Dropdown-Liste **JRE** die Option **Use Project JDK** aus. 
+ Stellen Sie sicher, dass Maven aktiviert ist. Gehen Sie zu **Settings** und wählen Sie **Plugins** aus. Suchen Sie nach Maven und wählen Sie das Maven-Plugin aus. Wenn Sie die Schaltfläche **Aktivieren** sehen, wählen Sie sie aus, um Maven zu aktivieren. 

### Aktualisieren der Maven-Konfiguration in Visual Studio Code
<a name="vscode"></a>

Wenn eine Transformation in VS Code aufgrund von Maven-Befehlsproblemen fehlschlägt, wird eine Textdatei mit den Fehlerprotokollen auf einer neuen Registerkarte geöffnet. Verwenden Sie die Informationen in den Protokollen, um das Problem zu beheben.

Stellen Sie sicher, dass Sie eine der folgenden Optionen konfiguriert haben: 
+ Ihr Projekt enthält einen Maven Wrapper im Stammordner des Projekts.
+ Eine von Amazon Q unterstützte Maven-Version ist in Ihrem `PATH` verfügbar.

Weitere Informationen finden Sie unter [Wie füge ich Maven meinem `PATH` hinzu?](#add-maven-to-path). 

## Wie füge ich Maven meinem `PATH` hinzu?
<a name="add-maven-to-path"></a>

Wenn Sie Ihren Code in VS Code ohne Verwendung eines Maven Wrappers umwandeln möchten, müssen Sie Maven installieren und Ihrer Variablen `PATH` hinzufügen. 

Wenn Sie überprüfen möchten, ob Sie Maven bereits korrekt installiert haben, führen Sie `mvn -v` in einem neuen Betriebssystem-Terminal außerhalb von Visual Studio Code aus. Sie sollten eine Ausgabe mit Ihrer Maven-Version sehen.

Wenn Sie eine Ausgabe zwar in Ihrem Visual Studio Code-Terminal, nicht aber in Ihrem Betriebssystem-Terminal erhalten, oder wenn der Befehl nicht gefunden wird, müssen Sie Maven Ihrem `PATH` hinzufügen.

 Folgen Sie den Anweisungen für Ihr Gerät, um Maven Ihrem `PATH` hinzuzufügen.

------
#### [ macOS ]

Führen Sie die folgenden Schritte aus, um Maven Ihrem macOS `PATH` hinzuzufügen.

1. Suchen Sie Ihr Maven-Installationsverzeichnis oder den Ordner, in dem Sie Maven installiert haben, und speichern Sie den Pfad zu diesem Ordner.

1. Öffnen Sie die Konfigurationsdatei für Ihre Shell in einem Editor Ihrer Wahl. Für aktuelle macOS-Versionen ist die Standard-Shell `zsh` und die Standardkonfigurationsdatei befindet sich unter `~/.zshrc`. 

   Fügen Sie die folgenden Zeilen am Ende der Konfigurationsdatei hinzu. Stellen Sie den Wert `M2_HOME` auf den Pfad ein, den Sie in Schritt 1 gespeichert haben:

   ```
   export M2_HOME="your Maven installation directory"
   export PATH="${M2_HOME}/bin:${PATH}"
   ```

   Diese Befehle machen den Befehl `mvn` in allen Terminals verfügbar.

1. Schließen Sie alle Betriebssystem-Terminalfenster und beenden Sie alle Instances von Visual Studio Code.

1. Öffnen Sie ein neues Betriebssystem-Terminal und führen Sie den folgenden Befehl aus, um zu überprüfen, ob Maven Ihrem `PATH` hinzugefügt wurde:

   ```
   mvn -v
   ```

   Sie sollten eine Ausgabe mit Ihrer Maven-Version sehen.

1. Nachdem Sie Ihre Maven-Ausgabe gesehen haben, starten Sie Visual Studio Code neu. Es kann sein, dass Sie auch Ihren Computer neu starten müssen. Öffnen Sie ein neues Terminal von Visual Studio Code und führen Sie den folgenden Befehl aus: 

   ```
   mvn -v
   ```

   Die Ausgabe sollte mit der Ausgabe in Schritt 4 identisch sein. Wenn die Ausgabe von Visual Studio Code abweicht, versuchen Sie Folgendes, um sicherzustellen, dass Ihre Konfiguration korrekt ist:
   + Überprüfen Sie Ihre `PATH`-Variable in Visual Studio Code. Eine IDE-Erweiterung ändert die `PATH`-Variable möglicherweise so, dass sie sich von Ihrer lokalen `PATH`-Variable unterscheidet. Deinstallieren Sie die Erweiterung, um sie aus Ihrem `PATH` zu entfernen.
   + Überprüfen Sie Ihre Standard-Shell in Visual Studio Code. Wenn sie auf einen anderen Wert als `zsh` eingestellt ist, wiederholen Sie diese Schritte für Ihre Shell.

------
#### [ Windows ]

Führen Sie die folgenden Schritte aus, um Maven Ihrem `PATH` unter Windows hinzuzufügen: 

1. Suchen Sie Ihr Maven-Installationsverzeichnis oder den Ordner, in dem Sie Maven installiert haben, und speichern Sie den Pfad zu diesem Ordner.

1. Öffnen Sie das Fenster „Umgebungsvariablen“:

   1. Wählen Sie die Schaltfläche Windows, um die Suchleiste zu öffnen.

   1. Geben Sie `Edit environment variables for your account` ein und klicken Sie darauf.

1. Suchen Sie im Fenster **Umgebungsvariablen** nach der PATH-Variablen. Wenn Sie bereits eine PATH-Variable vorliegen haben, wählen Sie **Bearbeiten ...** aus, um sie zu aktualisieren. Wenn Sie keine PATH-Variable sehen, wählen Sie **Neu ...** aus, um eine hinzuzufügen. 

1. Doppelklicken Sie im daraufhin angezeigten Fenster **Umgebungsvariable bearbeiten** auf den vorhandenen Pfad, um ihn zu bearbeiten, oder wählen Sie **Neu** aus, um einen neuen Pfadeintrag hinzuzufügen.

   Ersetzen Sie den vorhandenen Maven-Pfadeintrag durch den Pfad, den Sie in Schritt 1 gespeichert haben, oder fügen Sie den Pfad als neuen Eintrag hinzu. Fügen Sie am Ende des Pfads `\bin` als Suffix hinzu, wie im folgenden Beispiel gezeigt:

   ```
   C:\Users\yourusername\Downloads\apache-maven-3.9.6-bin\apache-maven-3.9.6\bin
   ```

1. Wählen Sie **OK** aus, um den Pfadeintrag zu speichern, und klicken Sie dann im Fenster **Umgebungsvariablen** erneut auf **OK**.

1. Öffnen Sie eine Eingabeaufforderung und führen Sie den folgenden Befehl aus:

   ```
   mvn -v
   ```

   Sie sollten eine Ausgabe mit Ihrer Maven-Version sehen.

------

## Warum kann Amazon Q meinen Code nicht erstellen?
<a name="build-fail"></a>

Wenn die Transformation fehlschlägt, während Amazon Q Ihren Code erstellt, ist Ihr Projekt möglicherweise nicht richtig für die Umgebung konfiguriert, in der Amazon Q den Code generiert. Möglicherweise müssen Sie Ihre Build-Konfiguration oder Code-Implementierung aktualisieren.

Prüfen Sie die Build-Protokollausgabe, die Amazon Q bereitstellt, um festzustellen, ob es Änderungen gibt, die Sie an Ihrem Projekt vornehmen können. Im Folgenden sind einige häufig auftretende Probleme aufgeführt, die Amazon Q daran hindern können, Ihren Code zu erstellen. 

### Entfernen absoluter Pfade in pom.xml
<a name="remove-absolute-path"></a>

Wenn Sie einen absoluten Pfad in Ihrer Datei pom.xml vorliegen haben, kann Amazon Q die entsprechenden Dateien nicht finden und Ihren Code daher möglicherweise nicht erstellen.

Im Folgenden finden Sie ein Beispiel für einen absoluten Pfad, den Sie in Ihrer Datei `pom.xml` vorliegen haben könnten:

```
<toolspath>
    <path>/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home/lib/tools.jar</path>
</toolspath>
```

Anstatt einen absoluten Pfad zu verwenden, können Sie mit einem Zeiger einen relativen Pfad erstellen. Im Folgenden finden Sie ein Beispiel dafür, wie Sie den vorherigen absoluten Pfad durch einen relativen Pfad ersetzen können:

```
<toolspath>
    <path>${java.home}/../lib/tools.jar</path>
</toolspath>
```

### Entfernen lokaler oder externer Datenbanken in Modultests
<a name="remove-external-databases"></a>

Amazon Q führt alle Modultests in Ihrem Projekt durch, wenn es Ihren Code erstellt. Wenn ein Modultest eine lokale oder externe Datenbank aufruft, hat Amazon Q keinen Zugriff auf die Datenbank, sodass der Build fehlschlägt. Wenn Sie verhindern möchten, dass der Build fehlschlägt, müssen Sie entweder den Datenbankaufruf aus dem Modultest entfernen oder den Modultest entfernen, bevor Sie die Transformation absenden. 

## Warum ist meine Transformation nach 55 Minuten fehlgeschlagen?
<a name="build-time-limit"></a>

Wenn Ihr Codetransformationsauftrag nach 55 Minuten fehlschlägt, überschreitet Ihre Codeerstellungszeit wahrscheinlich das Build-Zeitlimit. Derzeit gibt es ein Zeitlimit von 55 Minuten für die Erstellung Ihres Codes. 

Wenn Ihre lokale Build-Zeit 55 Minuten oder länger dauert, reduzieren Sie die Build-Zeit Ihres Projekts, um Ihren Code zu transformieren. Wenn Ihr lokaler Build schneller ist als der Build mit Codetransformation, überprüfen Sie Ihr Projekt auf Aufgaben, die in einer anderen Umgebung möglicherweise fehlschlagen oder länger dauern. Erwägen Sie, Testfälle mit langer Laufzeit zu deaktivieren. Ziehen Sie auch in Betracht, Timeouts für Versuche zu verwenden, auf Ressourcen zuzugreifen, die in der sicheren IDE-Umgebung oder im Internet möglicherweise nicht verfügbar sind. 

## Warum kann ich meinen transformierten Code nicht herunterladen?
<a name="download-code-fail"></a>

Wenn Sie Ihren Code nach Abschluss der Transformation nicht herunterladen können, liegt dies wahrscheinlich an einem der folgenden Probleme. Sehen Sie sich das Thema an, das dem Fehler entspricht, den Sie von Amazon Q erhalten haben. 

**Topics**
+ [

### Reduzierung der Projektgröße
](#reduce-project-size-output)
+ [

### Herunterladen der Code-Diff-Datei innerhalb von 30 Tagen
](#download-30-hrs)
+ [

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
](#configure-proxy-download)
+ [

### Entfernen von Platzhalterzeichen in den JetBrains-Proxy-Einstellungen
](#remove-wildcard)

### Reduzierung der Projektgröße
<a name="reduce-project-size-output"></a>

Nach Abschluss der Transformation generiert Amazon Q ein Ausgabeartefakt, das eine Diff-Datei für Ihren aktualisierten Code und eine Transformationszusammenfassung mit Informationen zu den vorgenommenen Änderungen enthält. Das Ausgabeartefakt muss 1 GB oder kleiner sein, damit die IDE es herunterladen kann. 

Wenn das Ausgabeartefakt das Limit überschreitet, können Sie Ihren aktualisierten Code oder die Transformationszusammenfassung nicht herunterladen. Versuchen Sie, ein kleineres Projekt zu transformieren, um ein großes Ausgabeartefakt zu vermeiden. Wenn das Problem weiterhin besteht, wenden Sie sich an Support. Informationen zur Kontaktaufnahme Support mit Amazon Q finden Sie unter[Verwenden von Amazon Q Developer zum Chatten mit Support](support-chat.md).

### Herunterladen der Code-Diff-Datei innerhalb von 30 Tagen
<a name="download-30-hrs"></a>

Die Code-Diff-Datei mit Ihrem aktualisierten Code ist nach Abschluss der Transformation nur 30 Tage lang verfügbar. Wenn seit Abschluss der Transformation mehr als 30 Tage vergangen sind, starten Sie die Transformation neu, um die Diff-Datei herunterzuladen.

### Konfigurieren der Proxy-Einstellungen in Ihrer IDE
<a name="configure-proxy-download"></a>

Amazon Q lädt Ihren aktualisierten Code von einem serviceeigenen Amazon-S3-Bucket herunter. Im Rahmen des Download-Vorgangs werden SSL- oder TLS-Zertifikate verwendet, um die Kommunikation zwischen Amazon S3 und Ihrer IDE herzustellen. Wenn Sie einen Proxy-Server verwenden, müssen die von Ihrem Proxy-Server verwendeten SSL- oder TLS-Zertifikate vertrauenswürdig sein, andernfalls kann Amazon Q Ihr Projekt nicht hochladen.

Damit Sie Ihren Code herunterladen können, müssen Sie möglicherweise Ihre IDE so konfigurieren, dass sie Zertifikaten vertraut, oder andere Proxy-Einstellungen aktualisieren. Weitere Informationen zum Aktualisieren Ihrer Proxy-Einstellungen finden Sie unter [Konfigurieren der Proxy-Einstellungen in Ihrer IDE](#configure-proxy).

### Entfernen von Platzhalterzeichen in den JetBrains-Proxy-Einstellungen
<a name="remove-wildcard"></a>

Wenn Sie Proxy-Einstellungen in Ihrer JetBrains-IDE konfiguriert haben, wird beim Herunterladen Ihres aktualisierten Codes möglicherweise der folgende Fehler angezeigt: 

```
software.amazon.awssdk.core.exception.SdkClientException: 
Unable to execute HTTP request: Dangling meta character '*' near index 0
```

Dies wird wahrscheinlich durch das Vorhandensein eines Platzhalterzeichens (\$1) im Feld **Kein Proxy für** in den Proxy-Einstellungen Ihrer IDE verursacht. Das von Amazon Q verwendete Java-SDK unterstützt keine Platzhaltereinträge in diesem Feld. 

Damit Sie Ihren Code herunterladen können, entfernen Sie alle Platzhalter aus dem Feld **Kein Proxy für** und starten Ihre IDE neu. Wenn Sie Hosts angeben müssen, die den Proxy umgehen sollen, verwenden Sie einen regulären Ausdruck anstelle eines Platzhalters. Informationen zum Aktualisieren der Proxyeinstellungen in Ihrer JetBrains IDE finden Sie in der JetBrains Dokumentation unter [HTTP-Proxy](https://www.jetbrains.com/help/idea/settings-http-proxy.html).

## Wie greife ich auf Code-Transformationsprotokolle zu?
<a name="logs"></a>

### Zugreifen auf Protokolle in JetBrains
<a name="jetbrains-logs"></a>

Informationen zum Zugreifen auf JetBrains-Protokolldateien finden Sie unter [Locating IDE log files](https://intellij-support.jetbrains.com/hc/en-us/articles/207241085-Locating-IDE-log-files) in der JetBrains-Dokumentation. 

Wenn Sie von Amazon Q ausgegebene Protokolle in JetBrains finden möchten, suchen Sie in den IDE-Protokollen nach der folgenden Zeichenfolge:

```
software.aws.toolkits.jetbrains.services.codemodernizer
```

Codetransformationsprotokolle beginnen mit der vorhergehenden Zeichenfolge. Von Maven generierte Protokolle werden auf der Registerkarte **Ausführen** angezeigt und enthalten die vorangegangene Zeichenfolge vor und nach dem Protokolleintrag. 

### Zugreifen auf Protokolle in Visual Studio Code
<a name="vsc-logs"></a>

Führen Sie die folgenden Schritte aus, um die von Amazon Q ausgegebenen Protokolle in VS Code zu finden:

1. Wählen Sie in der oberen Navigationsleiste **View** und anschließend **Command Palette** aus.

1. Suchen Sie `Amazon Q: View Logs` in der angezeigten Befehlspalette.

1. Die Protokolle werden in der IDE geöffnet. Verwenden Sie `CMD + F` oder `Control + F`, um in den Protokolldateien nach `CodeTransformation` zu suchen. 

Codetransformationsprotokolle in VS Code haben das Präfix `CodeTransformation:`. Im Folgenden finden Sie ein Beispiel für ein Protokoll in VS Code, das aufgrund eines Maven-Fehlers beim Kopieren von Abhängigkeiten generiert wurde:

```
2024-02-12 11:29:16 [ERROR]: CodeTransformation: Error in running Maven copy-dependencies command mvn = /bin/sh: mvn: command not found
```

## Wie finde ich meine Transformationsauftrags-ID?
<a name="job-id"></a>

### Suchen Ihrer Auftrags-ID in JetBrains
<a name="jetbrains"></a>

Wenn Sie eine Transformationsauftrags-ID in JetBrains suchen, gehen Sie im **Transformation Hub** zur Registerkarte **Transformation details** und wählen Sie das Symbol **Jobstatus anzeigen** (Uhr) aus. 

### Suchen Ihrer Auftrags-ID in Visual Studio Code
<a name="vs-code"></a>

Wenn Sie eine Transformationsauftrags-ID in VS Code suchen, gehen Sie zum **Transformation Hub** und wählen Sie das Symbol **Jobstatus anzeigen** (Uhr) aus. 

# Transformieren von .NET-Anwendungen mit Amazon Q Developer
<a name="transform-dotnet-IDE"></a>

Amazon Q Developer kann Ihre Windows-basierten .NET-Anwendungen über einen durch generative KI gestützten Faktorwechsel-Workflow auf Linux-kompatible plattformübergreifende .NET-Anwendungen portieren. Amazon Q hilft Ihnen auch dabei, veraltete Versionen plattformübergreifender .NET-Anwendungen auf neuere Versionen zu aktualisieren. 

Zum Transformieren einer .NET-Lösung oder eines Projekts analysiert Amazon Q Ihre Codebasis, ermittelt die erforderlichen Aktualisierungen für die Portierung Ihrer Anwendung und generiert vor Beginn der Transformation einen Transformationsplan. Während dieser Analyse unterteilt Amazon Q Ihre .NET-Lösung oder Ihr Projekt in Codegruppen, die Sie im Transformationsplan einsehen können. Eine *Codegruppe* ist ein Projekt mit all seinen Abhängigkeiten, die zusammen eine erstellbare Codeeinheit wie eine Dynamic Link Library (DLL) oder eine ausführbare Datei erzeugen. 

Während der Transformation stellt Amazon Q step-by-step Updates in einem Transformation Hub bereit, in dem Sie den Fortschritt überwachen können. Nach der Transformation Ihrer Anwendung generiert Amazon Q eine Zusammenfassung mit den vorgeschlagenen Änderungen in einer Diff-Ansicht, sodass Sie die Änderungen optional überprüfen können, bevor Sie sie akzeptieren. Wenn Sie die Änderungen akzeptieren, nimmt Amazon Q direkte Aktualisierungen an Ihrer .NET-Lösung oder Ihrem Projekt vor. 

Amazon Q führt vier wichtige Aufgaben zur Portierung von .NET-Anwendungen nach Linux aus:
+ **Aktualisieren der Sprachversion** – ersetzt veraltete C\$1-Codeversionen durch Linux-kompatible C\$1-Versionen
+ **Migrieren von .NET Framework zu plattformübergreifendem .NET** – migriert Projekte und Pakete vom Windows-abhängigen .NET Framework zu plattformübergreifendem .NET, das mit Linux kompatibel ist
+ **Umschreiben von Code zugunsten der Linux-Kompatibilität** – nimmt einen Faktorwechsel für veraltete und ineffiziente Codekomponenten vor und schreibt sie neu
+ **Generieren eines Berichts zur Bereitschaft für die Linux-Kompatibilität** – Für Aufgaben mit offenem Ende, bei denen Benutzereingriffe erforderlich sind, damit der Code unter Linux erstellt und ausgeführt werden kann, bietet Amazon Q einen detaillierten Bericht über die Aktionen, die zur Konfiguration Ihrer Anwendung nach der Transformation erforderlich sind.

Weitere Informationen darüber, wie Amazon Q .NET-Transformationen durchführt, finden Sie unter [Funktionsweise](how-dotnet-transformation-works.md). 

**Topics**
+ [

## Kontingente
](#quotas-dotnet-transformation)
+ [

# Portieren einer .NET-Anwendung mit Amazon Q Developer in Visual Studio
](port-dotnet-application.md)
+ [

# So transformiert Amazon Q Developer .NET-Anwendungen
](how-dotnet-transformation-works.md)
+ [

# Beheben von Problemen mit .NET-Transformationen in der IDE
](troubleshooting-dotnet-transformation-IDE.md)

## Kontingente
<a name="quotas-dotnet-transformation"></a>

Für .NET-Transformationen mit Amazon Q in der IDE gelten die folgenden Kontingente: 
+ **Codezeilen pro Auftrag** – die maximale Anzahl von Codezeilen, die Amazon Q in einem bestimmten Transformationsauftrag transformieren kann. Dies ist auch das monatliche Gesamtlimit für .NET-Transformationen. 
+ **Gleichzeitige Aufträge** – die maximale Anzahl von Transformationsaufträgen, die Sie gleichzeitig ausführen können. Dieses Kontingent gilt für alle Transformationen in der IDE, einschließlich [Java-Transformationen](transform-java.md).


| Ressource | Kontingente | 
| --- | --- | 
| Codezeilen pro Auftrag | 100 000 Codezeilen | 
| Gleichzeitige Aufträge |  1 Auftrag pro Benutzer 2 Jobs pro AWS Konto  | 

# Portieren einer .NET-Anwendung mit Amazon Q Developer in Visual Studio
<a name="port-dotnet-application"></a>

Gehen Sie wie folgt vor, um eine Windows-basierte .NET-Anwendung mit Amazon Q Developer in Visual Studio auf eine Linux-kompatible plattformübergreifende .NET-Anwendung zu portieren. 

## Schritt 1: Voraussetzungen
<a name="transform-dotnet-prerequisites"></a>

Bevor Sie fortfahren, sollten Sie sicherstellen, dass Sie die in [Einrichten von Amazon Q in Ihrer IDE](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE.html) beschriebenen Schritte ausgeführt habe.

Überprüfen Sie vor Beginn eines .NET-Transformationsauftrags, ob die folgenden Voraussetzungen für Ihre Anwendung erfüllt sind:
+ Ihre Anwendung enthält ausschließlich in C\$1 geschriebene .NET-Projekte.
+ Ihre Anwendung hat nur von Microsoft verfasste Paketabhängigkeiten NuGet 
+ Ihre Anwendung verwendet nur UTF-8-Zeichen. Wenn Ihre Anwendung keine UTF-8-Zeichen verwendet, versucht Amazon Q trotzdem, Ihren Code zu transformieren.
+ Wenn Ihre Anwendung von Internet Information Services (IIS) abhängig ist, werden nur IIS-Standardkonfigurationen verwendet.
+ Amazon Q wertet den Typ des ausgewählten Projekts und seine Abhängigkeiten aus, um eine Codegruppe zu erstellen. Für Ihre Codegruppe sind nur folgende Projekttypen möglich:
  + Konsolenanwendung
  + Klassenbibliothek 
  + Web-API
  + WCF-Service
  + Geschäftslogikebenen von Model View Controller (MVC) und Single Page Application (SPA)
  + Testen von Projekten

**Anmerkung**  
Amazon Q unterstützt das Transformieren von Komponenten der Benutzeroberflächenebene wie Razor Ansichten oder WebForms ASPX-Dateien nicht. Wenn Amazon Q Komponenten der Benutzeroberflächenebene in Ihrer Lösung oder Ihrem Projekt erkennt, führt es eine teilweise Transformation durch, indem Komponenten der Benutzeroberflächenebene ausgeschlossen werden. Möglicherweise müssen Sie einen weiteren Faktorwechsel für Ihren Code vornehmen, damit er in der .NET-Zielversion erstellt werden kann.

## Schritt 2: Transformieren Ihrer Anwendung
<a name="transform-dotnet-app"></a>

Sie können Ihre .NET-Lösung oder Ihr Projekt wie folgt transformieren:

1. Öffnen Sie eine C\$1-basierte Lösung oder ein Projekt in Visual Studio, die bzw. das Sie transformieren möchten. 

1. Öffnen Sie eine C\$1-Codedatei im Editor. 

1. Wählen Sie **Solution Explorer** aus.

1. Klicken Sie im Solution Explorer mit der rechten Maustaste auf eine Lösung oder ein Projekt, die bzw. das Sie transformieren möchten, und wählen Sie dann **Port with Amazon Q Developer** aus.

1. Das Fenster **Port with Amazon Q Developer** wird angezeigt. 

   Die Lösung oder das Projekt, die bzw. das Sie ausgewählt haben, wird im Dropdown-Menü **Choose a solution or project to transform** ausgewählt. Sie können das Menü erweitern, um eine andere Lösung oder ein anderes Projekt für die Transformation auszuwählen. 

   Wählen Sie im Dropdown-Menü **Choose a .NET target** die .NET-Version aus, auf die Sie aktualisieren möchten.

1. Wählen Sie **Confirm** aus, um mit der Transformation zu beginnen.

1. Amazon Q beginnt mit der Transformation Ihres Codes. Einzelheiten zur Transformation Ihrer Anwendung finden Sie im generierten Transformationsplan.

   Ein **Transformation Hub** wird geöffnet, in dem Sie den Fortschritt für die Dauer der Transformation überwachen können. Nachdem Amazon Q den Schritt **Awaiting job transformation startup** abgeschlossen hat, können Sie für die Dauer der Transformation das Projekt oder die Lösung verlassen.

1. Nachdem die Transformation abgeschlossen ist, navigieren Sie zum **Transformation Hub** und wählen Sie **View diffs** aus, um die von Amazon Q vorgeschlagenen Änderungen in einer Diff-Ansicht zu überprüfen. 

1. Wählen Sie **View code transformation summary** aus, um weitere Informationen zu den von Amazon Q vorgenommenen Änderungen zu erhalten. Sie können die Transformationszusammenfassung auch herunterladen, indem Sie **Download summary as .md** auswählen. 

   Wenn für eines der Elemente in der Tabelle **Code groups** eine Eingabe unter dem Linux-Portierungsstatus erforderlich ist, müssen Sie einige Dateien manuell aktualisieren, damit Ihre Anwendung unter Linux ausgeführt werden kann. 

   1. Wählen Sie im Dropdown-Menü **Actions** die Option **Download Linux readiness report** aus. 

   1. Es wird eine CSV-Datei mit allen Änderungen an Ihrem Projekt oder Ihrer Lösung geöffnet, die Sie vornehmen müssen, damit Ihre Anwendung Linux-kompatibel wird. Sie enthält das Projekt und die Datei, die aktualisiert werden müssen, eine Beschreibung des zu aktualisierenden Elements und eine Erläuterung des Problems. In der Spalte **Recommendation** finden Sie Anregungen, wie Sie ein Problem mit der Linux-Bereitschaft lösen können. 

1. Wenn Sie Ihre Dateien an Ort und Stelle aktualisieren möchten, wählen Sie im Dropdown-Menü **Actions** die Option **Accept changes** aus. 

# So transformiert Amazon Q Developer .NET-Anwendungen
<a name="how-dotnet-transformation-works"></a>

In den folgenden Abschnitten finden Sie Einzelheiten, wie die .NET-Transformation mit Amazon Q Developer funktioniert. 

## Analysieren Ihrer Anwendung und Erstellen eines Transformationsplans
<a name="analyzing-app-generating-plan"></a>

Bevor eine Transformation beginnt, erstellt Amazon Q Ihren Code lokal, um sicherzustellen, dass er erstellbar und für die Transformation korrekt konfiguriert ist. Amazon Q lädt dann Ihren Code in eine sichere und verschlüsselte Build-Umgebung hoch AWS, analysiert Ihre Codebasis und bestimmt die erforderlichen Updates, um Ihre Anwendung zu portieren. 

Während dieser Analyse unterteilt Amazon Q Ihre .NET-Lösung oder Ihr Projekt in Codegruppen. Eine Codegruppe ist ein Projekt mit all seinen Abhängigkeiten, die zusammen eine erstellbare Codeeinheit wie eine Dynamic Link Library (DLL) oder eine ausführbare Datei erzeugen. Auch wenn Sie nicht alle zu transformierenden Projektabhängigkeiten ausgewählt haben, bestimmt Amazon Q die Abhängigkeiten, die für die Erstellung Ihrer ausgewählten Projekte erforderlich sind, und transformiert sie ebenfalls, sodass Ihre transformierte Anwendung erstellbar und einsatzbereit ist.

Nach der Analyse Ihres Codes generiert Amazon Q einen Transformationsplan, in dem die vorgeschlagenen Änderungen beschrieben werden, einschließlich einer Liste der Codegruppen und ihrer Abhängigkeiten, die transformiert werden sollen. 

## Transformieren Ihrer Anwendung
<a name="transforming-app"></a>

Zum Starten der Transformation erstellt Amazon Q Ihren Code erneut in der sicheren Entwicklungsumgebung, um zu gewährleisten, dass er remote erstellt werden kann. Amazon Q beginnt dann mit der Portierung Ihrer Anwendung. Dabei wird von unten nach oben vorgegangen, beginnend mit der niedrigsten Abhängigkeitsebene. Wenn Amazon Q bei der Portierung einer Abhängigkeit auf ein Problem stößt, wird die Transformation gestoppt und es werden Informationen darüber bereitgestellt, was den Fehler verursacht hat. 

Die Transformation umfasst die folgenden Aktualisierungen Ihrer Anwendung: 
+ Ersetzen veralteter C\$1-Codeversionen durch Linux-kompatible C\$1-Versionen
+ Aktualisieren von .NET Framework auf plattformübergreifendes .NET, einschließlich: 
  + Identifizieren und iteratives Ersetzen von Paketen, Bibliotheken und APIs
  +  NuGet Pakete aktualisieren und ersetzen und APIs
  + Übergehen zur plattformübergreifenden Laufzeit
  + Einrichten von Middleware und Aktualisieren von Laufzeitkonfigurationen
  + Ersetzen von privaten Paketen oder Paketen von Drittanbietern 
  + Umgehen mit IIS- und WCF-Komponenten 
  + Debuggen von Build-Fehlern
+ Umschreiben von Code aus Gründen der Linux-Kompatibilität, einschließlich Durchführung eines Faktorwechsels und Umschreiben von veraltetem und ineffizientem Code zur Portierung von vorhandenem Code 

## Überprüfen der Transformationszusammenfassung und Akzeptieren der Änderungen
<a name="reviewing-summary-accepting-changes"></a>

Nach Abschluss der Transformation stellt Amazon Q eine Zusammenfassung der Transformation mit Informationen zu den vorgeschlagenen Aktualisierungen Ihrer Anwendung bereit, einschließlich der Anzahl der geänderten Dateien, aktualisierten Pakete und APIs geänderten Pakete. Es kennzeichnet alle erfolglosen Transformationen, einschließlich der betroffenen Dateien oder Teile von Dateien und der Fehler, die bei einem Build-Versuch aufgetreten sind. Sie können sich auch eine Build-Zusammenfassung mit Build-Protokollen ansehen, um mehr darüber zu erfahren, welche Änderungen vorgenommen wurden. 

Die Transformationszusammenfassung enthält auch einen Linux-Portierungsstatus, der angibt, ob zusätzliche Benutzereingaben erforderlich sind, um die Anwendung Linux-kompatibel zu machen. Wenn für eines der Elemente in einer Codegruppe Eingaben von Ihnen erforderlich sind, laden Sie einen Linux-Bereitschaftsbericht herunter, der Windows-spezifische Überlegungen enthält, die Amazon Q zum Zeitpunkt der Erstellung nicht berücksichtigen konnte. Falls Eingaben für Codegruppen oder Dateien erforderlich sind, finden Sie im Bericht Einzelheiten darüber, welche Art von Änderung noch vorgenommen werden muss, und gegebenenfalls Empfehlungen zur Aktualisierung Ihres Codes. Diese Änderungen müssen manuell vorgenommen werden, bevor Ihre Anwendung unter Linux ausgeführt werden kann. 

Sie können die vorgeschlagenen Änderungen, die Amazon Q vorgenommen hat, in einer Diff-Ansicht überprüfen, bevor Sie sie als direkte Aktualisierungen Ihrer Dateien akzeptieren. Nachdem Sie Ihre Dateien aktualisiert und alle Punkte im Linux-Bereitschaftsbericht behandelt haben, ist Ihre Anwendung bereit, auf plattformübergreifendem .NET ausgeführt zu werden.

# Beheben von Problemen mit .NET-Transformationen in der IDE
<a name="troubleshooting-dotnet-transformation-IDE"></a>

Verwenden Sie die folgenden Abschnitte, um häufig auftretende Probleme mit .NET-Transformationen in der IDE mit Amazon Q Developer zu beheben.

## Woher weiß ich, ob ein Auftrag Fortschritte verzeichnet?
<a name="job-progressing"></a>

Wenn Amazon Q anscheinend viel Zeit mit einem Schritt im Transformation Hub verbringt, können Sie in den Ausgabeprotokollen überprüfen, ob der Auftrag noch aktiv ist. Wenn Diagnosemeldungen generiert werden, ist der Auftrag noch aktiv. 

Zum Überprüfen der Ausgaben wählen Sie in Visual Studio die Registerkarte **Output** aus. Wählen Sie im Menü **Show output from:** die Option **Amazon Q Language Client** aus.

Der folgende Screenshot zeigt ein Beispiel für die Ausgaben, die Amazon Q während einer Transformation generiert.

![\[Screenshot des Code Transformation Hub von Amazon Q Developer, der die Ausgabe des Amazon Q Language Client zeigt.\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/code-transform-troubleshoot4.png)


## Warum wurden einige Projekte nicht für die Transformation ausgewählt?
<a name="projects-not-selected"></a>

Amazon Q kann nur unterstützte Projekttypen in der Sprache C\$1 transformieren. Derzeit unterstützt Amazon Q keine Portierung von Komponenten oder Projekten auf Benutzeroberflächenebene, die in den Sprachen VB.NET oder F\$1 geschrieben wurden. Eine Liste der unterstützten Projekttypen und anderer Voraussetzungen für die Transformation Ihrer .NET-Projekte finden Sie unter [Schritt 1: Voraussetzungen](port-dotnet-application.md#transform-dotnet-prerequisites).

## Wie erhalte ich Support, wenn mein Projekt oder meine Lösung nicht transformiert wird?
<a name="get-support"></a>

Wenn Sie Probleme nicht selbst beheben können, können Sie sich an Support oder Ihr AWS-Konto Team wenden, um einen Support-Fall einzureichen. 

Um Support zu erhalten, geben Sie die ID des Transformationsauftrags an, damit AWS Sie einen fehlgeschlagenen Job untersuchen können. Eine Transformationsauftrags-ID finden Sie, indem Sie in Visual Studio die Registerkarte **Output** auswählen. Wählen Sie im Menü **Show output from:** die Option **Amazon Q Language Client** aus.

## Wie kann ich verhindern, dass meine Firewall Transformationsaufträge stört?
<a name="firewall-inteference"></a>

Wenn Ihre Organisation eine Firewall verwendet, kann diese die Transformationen in Visual Studio beeinträchtigen. Sie können die Sicherheitsprüfungen in Node.js vorübergehend deaktivieren, um Fehler zu beheben oder zu testen, was die Ausführung der Transformation verhindert. 

Die Umgebungsvariable `NODE_TLS_REJECT_UNAUTHORIZED` steuert wichtige Sicherheitsprüfungen. Durch `NODE_TLS_REJECT_UNAUTHORIZED` die Einstellung auf „0" wird die Ablehnung nicht autorisierter TLS/SSL Zertifikate durch Node.js deaktiviert. Das bedeutet Folgendes:
+ Selbstsignierte Zertifikate werden akzeptiert.
+ Abgelaufene Zertifikate werden zugelassen.
+ Zertifikate mit nicht übereinstimmenden Hostnamen sind zulässig.
+ Alle anderen Fehler bei der Zertifikatvalidierung werden ignoriert.

Wenn Ihr Proxy ein selbstsigniertes Zertifikat verwendet, können Sie die folgenden Umgebungsvariablen festlegen, anstatt `NODE_TLS_REJECT_UNAUTHORIZED` zu deaktivieren:

```
NODE_OPTIONS = —use-openssl-ca
NODE_EXTRA_CA_CERTS = Path/To/Corporate/Certs
```

Andernfalls müssen Sie die CA-Zertifikate angeben, die der Proxy zur Deaktivierung von `NODE_TLS_REJECT_UNAUTHORIZED` verwendet.

**So deaktivieren Sie NODE\$1TLS\$1REJECT\$1UNAUTHORIZED unter Windows:**

1. Öffnen Sie das Startmenü und suchen Sie nach **Umgebungsvariablen**.

1. Wählen Sie **Systemumgebungsvariablen bearbeiten** aus.

1. Wählen Sie im Fenster **Systemeigenschaften** die Option **Umgebungsvariablen** aus.

1. Wählen Sie unter **Systemvariablen** die Option **Neu** aus.

1. Legen Sie den **Variablennamen** auf NODE\$1TLS\$1REJECT\$1UNAUTHORIZED und den **Variablenwert** auf 0 fest.

1. Klicken Sie auf **OK**, um die Änderung zu speichern.

1. Starten Sie Visual Studio neu.

# Erklären und Aktualisieren von Code mit Amazon Q Developer
<a name="explain-update-code"></a>

Amazon Q Developer kann bestimmte Codezeilen in Ihrer integrierten Entwicklungsumgebung (IDE) erklären und aktualisieren. Wenn Sie Ihren Code aktualisieren möchten, bitten Sie Amazon Q um Änderungen an einer bestimmten Codezeile oder einem bestimmten Codeblock. Amazon Q generiert dann einen neuen Code, der die von Ihnen gewünschten Änderungen enthält. Anschließend können Sie den aktualisierten Code direkt in die Datei einfügen, aus der der Code stammt. 

Sie können aus den folgenden Optionen wählen:
+ **Erklären** – Lassen Sie sich Ihren Code in natürlicher Sprache erklären.
+ **Faktorwechsel** – Verbessern Sie unter anderem die Lesbarkeit oder Effizienz des Codes.
+ **Korrigieren** – Debuggen Sie den Code.
+ **Tests generieren** – Erstellen Sie Modultests für die aktuelle Datei oder den ausgewählten Code.
+ **Optimieren** – Verbessern Sie die Codeleistung.
+ **Zur Aufforderung senden** – Senden Sie den markierten Code an den Chat-Bereich von Amazon Q und stellen Sie Fragen zum Code.

## Code an Amazon Q senden
<a name="send-code"></a>

Führen Sie die folgenden Schritte aus, um Ihren Code von Amazon Q erklären oder aktualisieren zu lassen.

1. Markieren Sie einen Abschnitt einer Codedatei in Ihrer IDE. 

1. Klicken Sie mit der rechten Maustaste auf den markierten Code, um ein Kontextfenster zu öffnen. Wählen Sie **An Amazon Q senden** und dann **Erklären**, **Faktorwechsel**, **Korrigieren**, **Tests generieren**, **Optimieren** oder **Zur Aufforderung senden** aus.

   Wenn Sie **Zur Aufforderung senden** auswählen, kopiert Amazon Q den markierten Code in den Chat-Bereich, wo Sie Fragen zum Code eingeben können.

1. Wenn Sie den markierten Code durch den neu generierten Code ersetzen möchten, können Sie ihn kopieren oder direkt in Ihre Datei einfügen, indem Sie **Code einfügen** auswählen. Amazon Q ersetzt den Originalcode durch den aktualisierten Code.

# Inline-Chatten mit Amazon Q Developer
<a name="q-in-IDE-inline-chat"></a>

Mit der *Inline-Chat*-Funktion können Sie vom Hauptprogrammierungsfenster Ihrer IDE aus mit Amazon Q chatten. Wenn Sie die Inline-Chat-Funktion verwenden möchten, markieren Sie den Code, für den Sie Vorschläge wünschen, und geben Sie Anleitungen in der kleinen Eingabemaske ein. Amazon Q generiert nun Code für Sie, den es in einem Vergleich im Hauptprogrammierungsfenster präsentiert. Sie können dann wählen, ob Sie die Änderungen akzeptieren oder ablehnen möchten.

Der Vorteil des Inline-Chats besteht darin, dass der Kontextwechsel entfällt, der beim Wechsel zwischen einem Chat-Fenster und dem Hauptprogrammierungsfenster auftritt.

Normalerweise verwenden Sie die Inline-Chat-Funktion, wenn Sie Code überprüfen, Modultests schreiben oder andere Aufgaben ausführen, für die codebasierte Antworten erforderlich sind. In Situationen, in denen Sie textbasierte Antworten wünschen (z. B. eine Antwort auf „Erkläre diesen Code“), ist die Verwendung des [Chat-Fensters]() die bessere Option.

Amazon Q berücksichtigt den Code in der aktuellen Datei, wenn es eine Codeempfehlung über den Inline-Chat generiert. Code in anderen Dateien oder Projekten wird nicht berücksichtigt.

## Der Inline-Chat von Amazon Q in der Praxis
<a name="q-in-IDE-inline-chat-action"></a>

Eine Inline-Chat-Sitzung läuft wie folgt ab.

1. Sie markieren den Code, für den Sie Vorschläge wünschen, und wählen dann basierend auf Ihrer IDE eine der folgenden Optionen aus: 
   + Drücken Sie in Visual Studio Code und JetBrains `⌘+I` (Mac) oder `Ctrl+I` (Windows).
   + Drücken Sie in Eclipse und `⌘+Shift+I` (Mac) oder `Ctrl+Shift+I` (Windows).
   + Alternativ können Sie mit der rechten Maustaste auf die Auswahl klicken, **Amazon Q** und dann **Inline-Chat** auswählen.

   Dadurch wird oben im Hauptprogrammierungsfenster ein kleiner Eingabebildschirm geöffnet, in den Sie einen Prompt eingeben können, z. B. **Fix this code**.  
![\[Der Eingabebildschirm für den Inline-Chat\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/inline-chat-input-screen.png)

1. Amazon Q generiert Code und präsentiert ihn in einem Vergleich.  
![\[Der Inline-Chat-Vergleich\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/inline-chat-diff.png)

1. Sie akzeptieren oder lehnen die Änderung ab, indem Sie **Annehmen** oder **Ablehnen** auswählen oder die entsprechende Tastenkombination (`Enter` oder `Esc`) drücken.  
![\[Die Schaltflächen „Annehmen“ und „Ablehnen“ im Inline-Chat\]](http://docs.aws.amazon.com/de_de/amazonq/latest/qdeveloper-ug/images/inline-chat-accept.png)

## Beispielthemen und -fragen
<a name="q-in-IDE-inline-chat-questions"></a>

Der Inline-Chat gibt immer Code als Antwort zurück, sodass Sie Prompts wie die folgenden eingeben können:
+ Dokumentiere diesen Code
+ Nimm einen Faktorwechsel für diesen Code vor
+ Schreibe Modultests für diese Funktion

## Vergleichsformat
<a name="q-in-IDE-inline-chat-diff"></a>

Im Inline-Chat wird der Vergleich in mehreren Blöcken angezeigt, wobei der vorhandene Code oben und der vorgeschlagene Code unten steht. Ein side-by-side Diff wird nicht unterstützt.

# Hinzufügen von Kontext zum Chat von Amazon Q Developer in der IDE
<a name="ide-chat-context"></a>

Wenn Sie mit Amazon Q in der integrierten Entwicklungsumgebung (IDE) chatten, können Sie Amazon Q zusätzlichen *Kontext* wie Dateien und Ordner zur Verfügung stellen, den Amazon Q zur Anpassung und Verbesserung seiner Antworten verwenden kann.

Es gibt zwei Möglichkeiten, Amazon Q Kontext hinzuzufügen:
+ **Explizit** – Geben Sie **@** diesen in das Chat-Fenster ein, um den Kontext explizit bereitzustellen. Daraufhin öffnet **@** ein Pop-up zur Kontextauswahl, in dem Sie Elemente auswählen, um sie als Kontext hinzuzufügen. Alternativ können Sie **@** und den Anfang des Namens der Datei, des Ordners oder eines anderen Kontexttyps eingeben und diesen automatisch vervollständigen lassen. Weitere Informationen finden Sie unter [Explizite Kontexttypen](#context-explicit).
+ **Automatisch** – Wenn Sie Kontext automatisch bereitstellen möchten, richten Sie den Kontext separat außerhalb des Chats ein. Amazon Q verweist automatisch auf den Kontext, wenn ein Entwickler, der an dem Projekt arbeitet, eine Frage in das Chat-Fenster eingibt. Weitere Informationen finden Sie unter [Automatische Kontexttypen](#context-automatic).

Nachdem Amazon Q eine Antwort generiert hat, werden Ihnen die Dateien, die als Kontext verwendet wurden, in der Dropdownliste **Kontext** angezeigt. Diese Liste wird unmittelbar über dem Anfang der Antwort angezeigt.

## Explizite Kontexttypen
<a name="context-explicit"></a>

Wenn Sie **@** im Chat eingeben, können Sie einen der folgenden Kontexttypen auswählen:
+ **@workspace** – Amazon Q verwendet den Workspace Ihres Projekts als Kontext für seine Antworten. Die Option **@workspace** erfordert eine Konfiguration. Weitere Informationen finden Sie unter [Hinzufügen von Workspace-Kontext zum Chat von Amazon Q Developer in der IDE](workspace-context.md).
+ **Ordner** – Amazon Q zeigt eine Liste der Ordner im aktuellen Projekt an und verwendet den von Ihnen ausgewählten Ordner als Kontext für die Antworten.
+ **Dateien** – Amazon Q zeigt eine Liste der Dateien im aktuellen Projekt an und verwendet die von Ihnen ausgewählte Datei als Kontext für die Antworten.
+ **Code** – Amazon Q zeigt eine Liste der Klassen, Funktionen und globalen Variablen im aktuellen Projekt an und verwendet Ihre Auswahl als Kontext für die Antworten.
+ **Bilder** – Amazon Q ermöglicht es Ihnen, Bilder als Kontext für Ihre Prompts hinzuzufügen. Dies ist nützlich für Szenarien wie das Generieren von Code aus UI-Mockups oder Sequenzdiagrammen. Bilder müssen im JPEG-, PNG-, GIF- oder WebP-Format mit einer maximalen Größe von 3,75 MB und Abmessungen von nicht mehr als 8.000 x 8.000 Pixeln vorliegen. Sie können bis zu 20 Bilder in eine einzelne Nachricht aufnehmen, einschließlich aller Bilder, die an den Kontext angeheftet sind.
+ **Prompts** – Amazon Q zeigt Ihnen eine Liste von Prompts, die Sie gespeichert haben, und verwendet den von Ihnen ausgewählten Prompt als Kontext für die Antworten. Die Option **Prompts** erfordert einige Konfigurationseinstellungen. Weitere Informationen finden Sie unter [Speichern von Prompts in einer Bibliothek zur Verwendung mit dem Chat von Amazon Q Developer](context-prompt-library.md).

## Automatische Kontexttypen
<a name="context-automatic"></a>

Die folgenden Kontexttypen werden von Amazon Q automatisch verwendet, sofern Sie sie eingerichtet haben:
+ **Projektregeln** – Amazon Q verwendet automatisch eine Reihe von Projektregeln, die Sie als Kontext definieren. Weitere Informationen finden Sie unter [Erstellen von Projektregeln für die Verwendung mit dem Chat von Amazon Q Developer](context-project-rules.md).
+ **Anpassungen** – Amazon Q verwendet automatisch ein Quellcode-Repository als Kontext.

# Hinzufügen von Workspace-Kontext zum Chat von Amazon Q Developer in der IDE
<a name="workspace-context"></a>

Wenn Sie mit Amazon Q in der integrierten Entwicklungsumgebung (IDE) chatten, können Sie Ihrer Frage **@workspace** hinzufügen, um automatisch die relevantesten Teile Ihres Workspace-Codes als Kontext einzubeziehen. Amazon Q Developer bestimmt die Relevanz anhand eines Index, der regelmäßig aktualisiert wird.

Mit Workspace-Kontext verfügt Amazon Q über erweiterte Funktionen, darunter das Auffinden von Dateien, das Verständnis, wie Code dateiübergreifend verwendet wird, und das Generieren von Code, der mehrere Dateien nutzt, einschließlich Dateien, die nicht geöffnet sind. 

**Topics**
+ [

## Einrichtung
](#setup)
+ [

## Stellen von Fragen im Workspace-Kontext
](#ask-questions-workspace-context)

## Einrichtung
<a name="setup"></a>

Bevor Sie fortfahren, vergewissern Sie sich, dass die aktuelle Version der IDE installiert ist. Anschließend können Sie die folgenden Schritte ausführen. 

### Aktivieren der Indizierung
<a name="setup-enable-indexing"></a>

Damit Sie den Workspace als Kontext verwenden können, erstellt Amazon Q einen lokalen Index Ihres Workspace-Repositorys, einschließlich Codedateien, Konfigurationsdateien und Projektstruktur. Bei der Indizierung werden unwichtige Dateien wie Binärdateien oder solche, die in `.gitignore`-Dateien angegeben sind, herausgefiltert. 

Die Indizierung eines neuen Workspace kann 5 bis 20 Minuten dauern. Während dieser Zeit müssen Sie mit einer erhöhten CPU-Auslastung in der IDE rechnen. Nach der ersten Indizierung wird der Index inkrementell aktualisiert, wenn Sie Änderungen an Ihrem Workspace vornehmen.

Wenn Sie zum ersten Mal Workspace-Kontext hinzufügen, müssen Sie die Indizierung in Ihrer IDE aktivieren. Führen Sie die folgenden Schritte aus, um die Indizierung zu aktivieren: 

1. Fügen Sie Ihrer Frage im Chat-Panel von Amazon Q **@workspace** hinzu.

1. Amazon Q fordert Sie auf, die Indizierung zu aktivieren. Wählen Sie **Einstellungen** aus, um zu den Amazon-Q-Einstellungen in Ihrer IDE weitergeleitet zu werden. 

   Wenn Sie nicht dazu aufgefordert werden, können Sie zu den Einstellungen wechseln, indem Sie unten in Ihrer IDE **Amazon Q** auswählen. Wählen Sie dann in der sich **öffnenden Amazon-Q-Taskleiste die Option Einstellungen öffnen** aus.

1. Aktivieren Sie das Kästchen neben **Workspace-Index**.

### Konfigurieren der Indizierung (optional)
<a name="setup-configure-indexing"></a>

Für den Indizierungsprozess ist keine Konfiguration erforderlich. Sie können jedoch die Anzahl der Threads angeben, die für die Indizierung vorgesehen sind. Wenn Sie die Anzahl der verwendeten Threads erhöhen, wird die Indizierung schneller abgeschlossen und Ihre CPU wird stärker beansprucht. Wenn Sie die Indizierungskonfiguration aktualisieren möchten, geben Sie die Anzahl der Threads für die Einstellung **Workspace Index Worker Threads** an. Sie können auch die maximale Größe der Dateien festlegen, die für den Workspace-Kontext indiziert werden können, und die Verwendung Ihrer Grafikverarbeitungseinheit (GPU) für die Indizierung aktivieren.

## Stellen von Fragen im Workspace-Kontext
<a name="ask-questions-workspace-context"></a>

Wenn Sie Ihren Workspace Ihrer Konversation mit Amazon Q als Kontext hinzufügen möchten, öffnen Sie den Workspace, zu dem Sie Fragen stellen möchten, und fügen Sie dann Ihrer Frage im Chat-Panel **@workspace** hinzu. Sie müssen jeder Frage, der Sie Workspace-Kontext hinzufügen möchten, @workspace anfügen.

Wenn Sie über einen anderen Workspace chatten möchten, öffnen Sie den Workspace und dann eine neue Chat-Registerkarte. Beziehen Sie **@workspace** in die Frage ein, um den neuen Workspace als Kontext hinzuzufügen. 

Sie können Amazon Q nach jeder Datei in Ihrem Workspace fragen, auch nach ungeöffneten Dateien. Amazon Q kann zusätzlich zu den vorhandenen Funktionen zur Konversationscodierung Dateien erklären, Code lokalisieren und Code dateiübergreifend generieren.

Im Folgenden finden Sie Beispielfragen für Amazon Q, die den Workspace-Kontext im Chat nutzen: 
+ @workspace wo ist der Code, der die Autorisierung handhabt?
+ @workspace was sind die wichtigsten Klassen mit Anwendungslogik in diesem Projekt?
+ @workspace erkläre main.py. 
+ @workspace füge diesem Projekt auth hinzu.
+ @workspace welche Bibliotheken oder Pakete von Drittanbietern werden in diesem Projekt verwendet und zu welchem Zweck?
+ @workspace füge Komponententests für die Funktion hinzu *<function name>*

# Speichern von Prompts in einer Bibliothek zur Verwendung mit dem Chat von Amazon Q Developer
<a name="context-prompt-library"></a>

Sie können eine Bibliothek mit allgemeinen Prompts erstellen, die Sie beim Chatten mit Amazon Q in der IDE verwenden können. Wenn Sie diese Prompts in Ihrer Bibliothek speichern, können Sie sie einfach in den Chat einfügen, ohne den Prompt jedes Mal erneut eingeben zu müssen. Sie können gespeicherte Prompts für mehrere Konversationen und Projekte verwenden.

Prompts werden im Ordner `~/.aws/amazonq/prompts` gespeichert.

**So speichern Sie einen Prompt in einer Prompt-Bibliothek**

1. Öffnen Sie in Ihrer IDE ein Amazon-Q-Chatfenster.

1. Geben Sie **@** ein und wählen Sie **Prompts** aus.

1. Wählen Sie **Neuen Prompt erstellen** aus. (Möglicherweise müssen Sie nach unten scrollen, um ihn zu finden.)

1. Geben Sie im Feld **Prompt-Name** einen Namen für den Prompt ein, z. B. **Create\$1sequence\$1diagram**, und drücken Sie die Eingabetaste. Beachten Sie, dass Prompt-Namen keine Leerzeichen enthalten dürfen.

   Amazon Q erstellt eine Prompt-Datei mit dem Namen `Create_sequence_diagram.md` im Ordner `~/.aws/amazonq/prompts` und öffnet die Datei in Ihrer IDE.

1. Fügen Sie in der Prompt-Datei einen detaillierten Prompt hinzu. Beispiel:

   `Create a sequence diagram using Mermaid that shows the sequence of calls between resources. Ignore supporting resources like IAM policies and security group rules.`

1. Speichern Sie die Prompt-Datei.

**So verwenden Sie einen gespeicherten Prompt**

1. Öffnen Sie in Ihrer IDE ein Amazon-Q-Chatfenster.

1. Geben Sie **@** ein und wählen Sie **Prompts** aus.

1. Wählen Sie Ihre gespeicherte Eingabeaufforderung, zum Beispiel **Create\$1Sequence\$1Diagram**.

1. (Optional) Fügen Sie Details im Chat-Eingabefenster hinzu wie erforderlich. Sie können mehr Text eingeben und weitere Kontexttypen hinzufügen. Ein Prompt könnte beispielsweise wie folgt aussehen…

   `@Create_sequence_diagram using the files in the @lib folder`

1. Senden Sie den Prompt und warten Sie, bis Amazon Q eine Antwort generiert.

# Anheften von Kontextelementen
<a name="context-pinning"></a>

**Anmerkung**  
Das Anheften von Kontext steht derzeit nur in der IDE von VS Code zur Verfügung.

Durch das Anheften von Kontext können Sie Kontextelemente angeben, die allen Nachrichten innerhalb Ihrer Chat-Sitzung hinzugefügt werden. Wenn Sie ein Kontextelement anheften, wird es automatisch in jede Nachricht Ihrer aktuellen Konversation aufgenommen, sodass Sie Befehle wie **@workspace**, **@file** oder **@folder** nicht wiederholt eingeben müssen.

Angeheftete Elemente können aus zwei Quellen stammen: Sie können Elemente, auf die Sie häufig verweisen, manuell anheften, oder Amazon Q fügt automatisch Kontext hinzu (z. B. die aktuelle aktive Datei), um die Antwortqualität zu verbessern. Angeheftete Kontextelemente werden oben im Texteingabefeld des Chat-Panels angezeigt. Sie haben die Möglichkeit, Kontext zu entfernen, den Sie nicht einbeziehen möchten.

Damit klare Kontextgrenzen gewahrt bleiben, gelten angeheftete Elemente nur für die aktuelle Chat-Registerkarte. Wenn Sie eine neue Registerkarte öffnen, beginnen Sie von vorne und verwenden nur den angehefteten Standardkontext, z. B. die aktive Datei.

## Verwenden des angehefteten Kontexts
<a name="w2aac11c16c25c19b7"></a>

**So fügen Sie angeheftete Kontextelemente hinzu**

1. Öffnen Sie in Ihrer IDE das Chat-Panel von Amazon Q.

1. Nachdem Sie einen Kontextbefehl wie **@workspace**, **@file**, **@folder** oder **@prompt** in einem Chat verwendet haben, klicken Sie auf den gewünschten Kontext, um ihn anzuheften.

   Alternativ können Sie auf die Schaltfläche „@Pin Context“ klicken, um sich die verfügbaren Optionen anzusehen und einen Kontext zum Anheften auszuwählen.

1. Der angeheftete Kontext wird im angehefteten Kontextbereich oben im Chat-Panel angezeigt.

### Methoden zum Anheften von Kontextelementen
<a name="w2aac11c16c25c19b7b5"></a>

Es gibt drei Möglichkeiten, Kontextelemente anzuheften:

1. Verwenden des @Pin-Kontextmenüs:
   + Klicken Sie im Chat-Panel auf die Schaltfläche „@Pin Context“.
   + Wählen Sie das gewünschte Kontextelement aus den verfügbaren Optionen aus.

1. Verwenden des Kontextmenüs und der Tastenkombination:
   + Geben Sie „@“ in die Chat-Eingabe ein, um das Kontextmenü aufzurufen.
   + Navigieren Sie zum gewünschten Element.
   + Drücken Sie Option/Alt \$1 Enter, um das ausgewählte Objekt zu fixieren.

1. Anheften von der Eingabeaufforderung aus:
   + Wenn Sie in der Eingabe bereits einen Kontextbefehl (wie **@workspace**, **@file**, **@folder** oder **@prompt**) eingegeben haben, bewegen Sie den Mauszeiger über das Kontextelement in der Eingabe.
   + Klicken Sie auf das Element, um es anzuheften.

Nach dem Anheften erscheint das Kontextelement im angehefteten Kontextbereich oben im Texteingabefeld des Chats.

**So entfernen Sie angeheftete Kontextelemente**
+ Wenn Sie ein angeheftetes Kontextelement entfernen möchten, klicken Sie auf das X auf der linken Seite der Pille. Dies funktioniert sowohl für vom Benutzer angeheftete als auch für vom System hinzugefügte Kontextelemente.

# Erstellen von Projektregeln für die Verwendung mit dem Chat von Amazon Q Developer
<a name="context-project-rules"></a>

Sie können eine Bibliothek mit Projektregeln erstellen, die Sie beim Chatten mit Amazon Q in der IDE verwenden können. Diese Regeln beschreiben Codierungsstandards und bewährte Methoden in Ihrem Team. Sie könnten beispielsweise eine Regel vorliegen haben, die besagt, dass der gesamte Python-Code Typhinweise oder der gesamte Java-Code Javadoc-Kommentare verwenden muss. Indem Sie diese Regeln in Ihrem Projekt speichern, können Sie sicherstellen, dass alle Entwickler unabhängig von ihrer Erfahrung Konsistenz waren.

Projektregeln werden in Markdown-Dateien im Projektordner `project-root/.amazonq/rules` definiert.

Sobald Sie Ihre Projektregeln erstellt haben, verwendet Amazon Q sie automatisch als Kontext, sobald ein Entwickler innerhalb Ihres Projekts mit Amazon Q chattet, und stellt sicher, dass sie bei der Generierung von Antworten eingehalten werden. Weitere Informationen über das Hinzufügen von Kontext zum Chat finden Sie unter [Hinzufügen von Kontext zum Chat von Amazon Q Developer in der IDE](ide-chat-context.md).

Sie können Projektregeln entweder direkt im Dateisystem oder über die Chat-Oberfläche von Amazon Q erstellen.

**So erstellen Sie eine Projektregel mithilfe der Chat-Oberfläche von Amazon Q**

1. Öffnen Sie in Ihrer IDE das Chat-Panel von Amazon Q.

1. Klicken Sie im Chat-Eingabefeld auf die Schaltfläche **Regeln**.

1. Wählen Sie **Neue Regel erstellen** aus.

1. Geben Sie im angezeigten Dialogfeld einen Namen für die Regel ein.

   Dadurch wird eine Markdown-Datei mit diesem Namen im Ordner `project-root/.amazonq/rules` des Projekts erstellt.

1. Fügen Sie den Regelinhalt im Editor hinzu.

1. Speichern Sie die Datei.

**So erstellen Sie eine Projektregel mithilfe des Dateisystems**

1. Öffnen Sie in Ihrer IDE den Stammordner des Projekts. 

1. Legen Sie im Stammordner des Projekts den folgenden Ordner an:

   `project-root/.amazonq/rules`

   Dieser Ordner enthält alle Ihre Projektregeln.

1. Erstellen Sie in `project-root/.amazonq/rules` eine Projektregeldatei. Es muss sich um eine Markdown-Datei handeln. Beispiel:

   `cdk-rules.md`

1. Öffnen Sie die Markdown-Datei für Projektregeln.

1. Fügen Sie der Datei einen detaillierten Prompt hinzu. Beispiel:

   ```
   All Amazon S3 buckets must have encryption enabled, enforce SSL, and block public access.
   All Amazon DynamoDB Streams tables must have encryption enabled. 
   All Amazon SNS topics must have encryption enabled and enforce SSL. 
   All Amazon SNS queues must enforce SSL.
   ```

1. Speichern Sie die Datei.

1. (Optional) Fügen Sie weitere Markdown-Dateien für Projektregeln hinzu.

   Sie haben nun eine oder mehrere Projektregeln erstellt. Amazon Q verwendet diese Regeln automatisch als Kontext, sobald ein Entwickler innerhalb Ihres Projekts mit Amazon Q chattet.

**So verwalten Sie Regeln auf der Chat-Oberfläche von Amazon Q**

1. Öffnen Sie in Ihrer IDE das Chat-Panel von Amazon Q.

1. Klicken Sie im Chat-Eingabefeld auf die Schaltfläche **Regeln**, um alle verfügbaren Regeln zu sehen.

1. Klicken Sie auf eine Regel, um sie für die aktuelle Chat-Sitzung ein- oder auszuschalten:
   + Regeln mit einem Häkchen sind aktiv und werden auf Ihre Konversation angewendet.
   + Regeln ohne Häkchen sind für die aktuelle Sitzung inaktiv.

# Generieren einer Speicherbank für Amazon Q Chat
<a name="context-memory-bank"></a>

Amazon Q kann automatisch Speicherbankdateien generieren, die einen schnellen Index der Struktur, des Technologie-Stacks und der Produktinformationen Ihres Projekts bieten. Diese Funktion analysiert wichtige Dateien in Ihrem Projekt, um Übersichtsdateien zu erstellen, die Amazon Q helfen, Ihre Codebasis zu verstehen, ohne jedes Mal, wenn Sie eine Frage stellen, das gesamte Projekt analysieren zu müssen.

Wenn Sie Speicherbank-Dateien generieren, erstellt Amazon Q einen `memory-bank` Unterordner, der `.amazonq/rules` die folgenden automatisch generierten Dateien enthält:
+ `product.md`— Überblick über Ihr Projekt und seine Möglichkeiten.
+ `structure.md`— Die Architektur, die Ordnerorganisation und die wichtigsten Komponenten Ihres Projekts.
+ `tech.md`— Ihr Technologie-Stack, Frameworks, Abhängigkeiten und Codierungsstandards.
+ `guidelines.md`— Entwicklungsstandards und -muster für Ihr Projekt.

Diese Dateien werden automatisch als Kontext verwendet, wenn Sie mit Amazon Q chatten, und versorgen Amazon Q mit Hintergrundinformationen zu Ihrem Projekt.

## Generieren Sie eine Speicherbank für Ihr Projekt
<a name="generate-files"></a>

Gehen Sie wie folgt vor, um eine Speicherbank zu generieren.

1. Öffnen Sie in Ihrer IDE das Chat-Panel von Amazon Q.

1. Wählen Sie im Chat-Eingabefeld die Schaltfläche **Regeln** aus.

1. Wählen Sie „**Speicherbank generieren**“.

1. Ein neuer Chat-Tab wird geöffnet, auf dem Amazon Q mit der Analyse Ihres Projekts beginnt, um die Speicherbankdateien zu erstellen.

1. Sobald Sie fertig sind, können Sie sich die Dateien ansehen, indem Sie auf die Schaltfläche **Regeln** klicken.

   Sie können einzelne Dateien auswählen und abwählen, die als Kontext verwendet werden sollen, wenn Sie eine Frage stellen.

1. Wenn sich Ihr Projekt ändert, können Sie Amazon Q neue Speicherbankdateien generieren lassen, um den Kontext zu aktualisieren. Wählen Sie dazu die Schaltfläche „**Regeln**“ und dann „**Speicherbank regenerieren**“.

## Passen Sie die Speicherbank-Generierung an
<a name="customize-files"></a>

Sie können anpassen, wie Speicherbankdateien generiert werden, indem Sie benutzerdefinierte Projektregeln erstellen. Sie können beispielsweise eine Regel erstellen, die die Sprache oder das Format für die generierten Dateien festlegt:

```
When generating the memory bank files like product.md, structure.md, and tech.md, 
always generate content in Spanish and include detailed code examples.
```

Speichern Sie Ihre Speicherbankregeln in einer Datei im `project-root/.amazonq/rules` Ordner Ihres Projekts.

Weitere Informationen zum Erstellen benutzerdefinierter Projektregeln finden Sie unter[Erstellen von Projektregeln für die Verwendung mit dem Chat von Amazon Q Developer](context-project-rules.md).

# Komprimieren des Chatverlaufs in Amazon Q Developer
<a name="ide-chat-history-compaction"></a>

Wenn Sie mit Amazon Q Developer in der IDE interagieren, läuft die Konversation im Chatverlauf auf. Dieser Verlauf bietet wichtigen Kontext, der Amazon Q hilft, Ihr Projekt zu verstehen und Antworten mit größerer Relevanz zu geben. Der Umfang des Konversationsverlaufs, der in jede Anfrage an das zugrundeliegende Modell aufgenommen werden kann, ist jedoch begrenzt.

## Informationen zu den Grenzen des Kontextfensters
<a name="understanding-context-window-limits"></a>

Das Kontextfenster stellt die maximale Menge an Informationen dar, die in einer einzigen Interaktion mit Amazon Q verarbeitet werden können. Dazu gehören:
+ Ihre aktuelle Frage oder Anfrage
+ Frühere Nachrichten in Ihrer Konversation
+ Codefragmente und Dateien, die Sie geteilt haben
+ Systeminformationen zu Ihrem Projekt

Wenn sich dieses Kontextfenster seiner Kapazitätsgrenze nähert, kann die Fähigkeit von Amazon Q beeinträchtigt werden, auf frühere Teile der Konversation zu verweisen.

## So funktioniert die Komprimierung des Chatverlaufs
<a name="how-chat-history-compaction-works"></a>

Durch die Komprimierung des Chatverlaufs können Sie die wichtigsten Informationen aus Ihrer Konversation beibehalten und gleichzeitig den Umfang des verwendeten Kontexts reduzieren. Wenn eine Komprimierung stattfindet, geschieht Folgendes:

1. Amazon Q analysiert den Konversationsverlauf.

1. Es erstellt eine kurze Zusammenfassung der wichtigsten Punkte, Fragen und Entscheidungen.

1. Diese Zusammenfassung ersetzt den detaillierten Konversationsverlauf im Kontextfenster.

1. Die gesamte Konversation bleibt auf der Chat-Oberfläche sichtbar.

Durch die Komprimierung können Sie Ihre Konversation fortsetzen, ohne wichtigen Kontext zu verlieren, und vermeiden gleichzeitig, dass Sie einen völlig neuen Chat starten müssen, wenn Sie die Grenzen des Kontextfensters erreichen.

## Einsetzen der Komprimierung des Chatverlaufs
<a name="using-chat-history-compaction"></a>

Sie können die Komprimierung auf zwei Arten einsetzen:

### Manuelle Komprimierung
<a name="manual-compaction"></a>

So komprimieren Sie den Chatverlauf manuell:

1. Geben Sie **/compact** in das Chat-Eingabefeld ein.

1. Amazon Q bearbeitet die Anfrage und zeigt eine Bestätigungsnachricht mit einer Zusammenfassung der komprimierten Konversation an.

Setzen Sie die manuelle Komprimierung ein, wenn Sie die aktuelle Konversation fortsetzen möchten, aber langsamere Antwortzeiten oder weniger relevante Antworten feststellen.

### Automatische Komprimierung
<a name="automatic-compaction-nudge"></a>

Wenn das Kontextfenster etwa 80 % seiner Kapazität erreicht, zeigt Amazon Q eine Benachrichtigung an und schlägt eine Komprimierung vor. Diese Benachrichtigung enthält Folgendes:
+ Eine Erklärung, warum eine Komprimierung empfohlen wird
+ Eine Schaltfläche zum sofortigen Auslösen der Komprimierung

## Nach der Komprimierung
<a name="after-compaction"></a>

Nach der Komprimierung geschieht Folgendes:
+ Der vollständige Konversationsverlauf bleibt bis zum Ende der aktuellen Sitzung auf der Chat-Oberfläche sichtbar.
+ Amazon Q verwendet die komprimierte Zusammenfassung (nicht den vollständigen Verlauf) zur Generierung von Antworten.
+ Im Kontextfenster ist die komprimierte Zusammenfassung anstelle des detaillierten Verlaufs enthalten.
+ Der detaillierte Chatverlauf wird zurückgesetzt, wenn Sie die IDE neu starten.

## Zugehörige Befehle
<a name="related-commands"></a>

### Löschen des Chatverlaufs
<a name="clearing-chat-history"></a>

Als Alternative zur Komprimierung können Sie den Chatverlauf mit dem Befehl **/clear** vollständig löschen:

1. Geben Sie **/clear** in das Chat-Eingabefeld ein.

1. Amazon Q entfernt den gesamten bisherigen Konversationsverlauf sowohl aus dem Display als auch aus dem Kontextfenster.

### Wann sollten Sie sich für die Komprimierung und wann für das Löschen des Verlaufs entscheiden
<a name="when-to-choose-compaction-vs-clearing"></a>

Entscheiden Sie sich in folgenden Fällen für die Komprimierung:
+ Sie möchten das aktuelle Gesprächsthema fortsetzen.
+ Der vorherige Kontext ist für die aktuelle Aufgabe nach wie vor relevant.
+ Sie möchten die allgemeine Richtung und die Informationen aus der Konversation beibehalten.

Entscheiden Sie sich in folgenden Fällen für das Löschen des Verlaufs:
+ Sie beginnen mit einer völlig neuen Aufgabe oder einem ganz neuen Thema.
+ Frühere Konversationen sind nicht mehr relevant.
+ Sie möchten sicherstellen, dass neue Antworten nicht von vorherigem Kontext beeinflusst werden.
+ Sie möchten potenziell vertrauliche Informationen aus der Konversation entfernen.

# Anzeigen, Löschen und Exportieren des Konversationsverlaufs von Amazon Q Developer
<a name="ide-chat-conversation"></a>

Wenn Sie mit Amazon Q in der integrierten Entwicklungsumgebung (IDE) chatten, speichert Amazon Q jede Chat-Registerkarte als separate Konversation. Sie können diese Konversationen anzeigen, suchen und löschen. Sie können sie auch in Dateien im Markdown- oder HTML-Format exportieren.

Amazon Q speichert Ihre Konversationen auf dem lokalen Computer im Stammverzeichnis.

Amazon Q speichert Konversationen für jeden Workspace separat. Wenn Sie den Konversationsverlauf nicht sehen, liegt das möglicherweise daran, dass Sie sich im falschen Workspace befinden. Amazon Q zeigt nur den Konversationsverlauf für den aktuellen Workspace an.

Sie können Ihre Konversationen wie folgt anzeigen, suchen, löschen und exportieren.

**So zeigen Sie vergangene Konversationen an und suchen danach**

1. Melden Sie sich in der IDE bei Amazon Q an.

1. Öffnen Sie eine Chat-Registerkarte in Amazon Q.

1. Öffnen Sie den Chatverlauf, indem Sie einen der folgenden Schritte ausführen:
   + Wählen Sie oben rechts im Chat-Panel die Schaltfläche **Chatverlauf anzeigen** aus.
   + Drücken Sie `ctrl+F` (Windows und Linux) oder `⌘ F` (Mac).

1. Führen Sie eine der folgenden Aktionen aus:
   + Wählen Sie die Konversation aus, die Sie anzeigen möchten. Konversationen sind nach Datum geordnet.
   + Verwenden Sie die Suchleiste oben im Chatverlauf, um eine Konversation zu finden. Amazon Q findet Konversationen, die genau mit dem eingegebenen Text übereinstimmen.

**So löschen Sie eine Konversation**

1. Melden Sie sich in der IDE bei Amazon Q an.

1. Führen Sie eine der folgenden Aktionen aus:
   + Geben Sie auf der Chat-Registerkarte einer geöffneten Chat-Sitzung **/clear** ein, um den Inhalt der Chat-Registerkarte zu löschen.
   + Öffnen Sie eine Chat-Registerkarte in Amazon Q und greifen Sie auf den Chatverlauf zu, indem Sie einen der folgenden Schritte ausführen:
     + Wählen Sie oben rechts im Chat-Panel die Schaltfläche **Chatverlauf anzeigen** aus.
     + Drücken Sie `ctrl+F` (Windows und Linux) oder `⌘ F` (Mac).

     Wählen Sie in der Konversation, die Sie löschen möchten, die vertikale Ellipse (⋮) und dann **Löschen** aus.

**So exportieren Sie eine Konversation im Markdown- oder HTML-Format**

1. Melden Sie sich in der IDE bei Amazon Q an.

1. Führen Sie eine der folgenden Aktionen aus:
   + Wenn bereits eine Chat-Sitzung gestartet wurde, wählen Sie oben rechts im Chat-Panel die Schaltfläche **Exportieren** aus, um die auf der Registerkarte angezeigte Konversation zu exportieren.
   + Öffnen Sie eine Chat-Registerkarte in Amazon Q und greifen Sie auf den Chatverlauf zu, indem Sie einen der folgenden Schritte ausführen:
     + Wählen Sie oben rechts im Chat-Panel die Schaltfläche **Chatverlauf anzeigen** aus.
     + Drücken Sie `ctrl+F` (Windows und Linux) oder `⌘ F` (Mac).

     Wählen Sie in der Konversation, die Sie exportieren möchten, die vertikale Ellipse (⋮) und dann **Exportieren** aus, um die Konversation in eine Datei im Markdown- oder HTML-Format zu exportieren.

   Standardmäßig benennt Amazon Q die Datei `q-dev-chat-yyyy-mm-dd.md|html` und speichert sie im Stammverzeichnis des Projekts.

# Verwenden von Tastenkombinationen im Chat mit Amazon Q Developer
<a name="q-in-ides-chat-shortcuts"></a>

Amazon Q bietet Tastenkombinationen, mit denen Sie effizient mit der Chat-Oberfläche des Agenten interagieren können. Mithilfe von Tastenkombinationen können Sie Ihren Workflow beibehalten, ohne zwischen Tastatur und Maus wechseln zu müssen.

**Anmerkung**  
Tastenkombinationen sind derzeit nur in der IDE von Visual Studio Code verfügbar.

## Tastenkombinationen
<a name="keyboard-shortcuts"></a>


**Tastenkombinationen für den Amazon-Q-Chat**  

| Aktion | Tastenkombination von Visual Studio Code | 
| --- | --- | 
| Befehl ausführen |  Umschalttaste \$1 Befehlstaste \$1 Eingabetaste (Mac) Umschalttaste \$1 Strg \$1 Eingabetaste (Windows) Umschalttaste \$1 Meta \$1 Eingabetaste (Linux)  | 
| Befehl ablehnen |  Umschalttaste \$1 Befehlstaste \$1 R (Mac) Umschalttaste \$1 Strg \$1 R (Windows) Umschalttaste \$1 Meta \$1 R (Linux)  | 
| Generierung stoppen |  Umschalttaste \$1 Befehlstaste \$1 Rücktaste (Mac) Umschalttaste \$1 Strg \$1 Rücktaste (Windows) Umschalttaste \$1 Meta \$1 Rücktaste (Linux)  | 

## Anpassen von Tastenkombinationen
<a name="customizing-keyboard-shortcuts"></a>

Tastenkombinationen können über die Standardoberfläche zur Anpassung von Tastenkombinationen in Ihrer IDE geändert werden. Amazon Q verwendet das native Tastenkombinationssystem der jeweiligen IDE, sodass alle Änderungen, die Sie vornehmen, auf der Amazon-Q-Oberfläche widergespiegelt werden. Die in den Tooltips und Benutzeroberflächenelementen angezeigten Tastenkombinationen werden automatisch aktualisiert, sodass sie mit Ihren benutzerdefinierten Tastenzuordnungen übereinstimmen.

## Auffindbarkeit von Tastenkombinationen
<a name="shortcut-discoverability"></a>

Amazon Q bietet mehrere Möglichkeiten, Tastenkombinationen zu finden:
+ **Tooltips**: Bewegen Sie den Mauszeiger über die Schaltflächen „Befehl ausführen“, „Befehl ablehnen“ oder „Stopp“, um die aktuelle Tastenkombination zu sehen
+ **Einstellungen**: Sehen Sie sich alle Tastenkombinationen auf der Benutzeroberfläche zur Anpassung von Tastenkombinationen in der IDE an.

## Verhalten von Tastenkombinationen
<a name="shortcut-behavior"></a>
+ Tastenkombinationen für den Agenten-Chat sind nur aktiv, wenn Ihr Fokus im Chat-Panel von Amazon Q liegt.
+ Dadurch werden Konflikte mit vorhandenen IDE-Tastenzuordnungen vermieden.
+ Wenn Sie eine Tastenkombination ändern, müssen Sie möglicherweise Ihre IDE aktualisieren, damit sich die Änderungen in den Tooltips widerspiegeln.

# Auswählen eines Modells für den Amazon-Q-Chat in IDEs
<a name="q-in-ides-chat-models"></a>

Sie können das Modell auswählen, das Amazon Q beim Chatten in der IDE verwenden soll. Das Modell, das Sie auswählen, bleibt für alle künftigen Chat-Sitzungen bestehen.

In der folgenden Tabelle werden die Modelle, die für den Amazon-Q-Chat in der IDE verfügbar sind, und ihre Kontextfenster beschrieben.


****  

| Modell | Kontextfenster | 
| --- | --- | 
| Claude Sonnet 3.7 | 200 000 | 
| Claude Sonnet 4 (Standard) | 200 000 | 

## Wählen Sie das Modell aus, das für den Chat in der IDE verwendet soll.
<a name="select-model-ide-chat"></a>

So wählen Sie das Modell aus, das Amazon Q beim Chatten in Ihrer IDE verwendet:

1. Öffnen Sie in Ihrer IDE das Chat-Panel von Amazon Q.

1. Wählen Sie am Ende des Textfelds das Dropdown-Menü für Modelle aus. Wählen Sie aus den verfügbaren Optionen das Modell aus, das Sie verwenden möchten.

   Das Modell, das Sie auswählen, bleibt bestehen, bis Sie es ändern.

## Kontextfenster
<a name="context-window"></a>

Das Kontextfenster ist die Menge an Kontext, einschließlich Ihres Konversationsverlaufs und aller expliziten oder automatischen Kontexte, die Amazon Q verwenden kann, um Ihre Anfragen zu verarbeiten und zu beantworten. Der Kontext wird in Token gemessen, was Text und Code umfasst.

Weitere Informationen zu Kontext finden Sie unter [Hinzufügen von Kontext zum Chat](ide-chat-context.md).