Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions website/app/[lang]/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import { Banner, Head } from "nextra/components";
import { getPageMap } from "nextra/page-map";
import { LanguageDropdown } from "../../src/components/language-dropdown";
import type { FC, ReactNode } from "react";
import fs from "fs";
import path from "path";

type LayoutProps = Readonly<{
children: ReactNode;
Expand All @@ -20,10 +22,7 @@ const LanguageLayout: FC<LayoutProps> = async ({ children, params }) => {

let sourcePageMap = await getPageMap(`/${lang}`);
//@ts-ignore
const { children: pageMap } = sourcePageMap.find((page) => {
//@ts-ignore
return page.name === lang;
});
// 用fs模块将sourcePageMap保存到本地

const banner = (
<Banner storageKey='qwen-code-announce'>
Expand Down Expand Up @@ -81,7 +80,7 @@ const LanguageLayout: FC<LayoutProps> = async ({ children, params }) => {
defaultMenuCollapseLevel: 1,
autoCollapse: true,
}}
pageMap={pageMap}
pageMap={sourcePageMap}
nextThemes={{ defaultTheme: "light" }}
>
{children}
Expand Down
22 changes: 22 additions & 0 deletions website/content/de/_meta.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
export default {
index: "Willkommen zur Qwen Code Dokumentation",
deployment: "Ausführung & Bereitstellung",
architecture: "Architektur-Übersicht",
cli: "CLI Nutzungsanleitung",
core: "Kern-Details",
tools: "Tools Sammlung",
checkpointing: "Checkpointing-Funktion",
extension: "Erweiterungs-Entwicklung",
"ide-integration": "IDE Integration",
telemetry: "Observabilität",
examples: "Beispielcode",
npm: "Paket-Management",
"gemini-ignore": "Ignorier-Datei Konfiguration",
"integration-tests": "Integrationstests",
"keyboard-shortcuts": "Tastaturkürzel",
sandbox: "Sandbox-Mechanismus",
"issue-and-pr-automation": "Automatisierte Behandlung",
troubleshooting: "Fehlerbehebung",
"tos-privacy": "Nutzungsbedingungen & Datenschutz",
Uninstall: "Deinstallations-Anleitung",
};
10 changes: 10 additions & 0 deletions website/content/de/cli/_meta.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export default {
index: "CLI Übersicht",
commands: "Befehls-Referenz",
configuration: "Konfigurationsanleitung",
authentication: "Authentifizierungs-Setup",
"openai-auth": "OpenAI Authentifizierung",
"token-caching": "Token Caching",
themes: "Theme-Konfiguration",
tutorials: "Nutzungs-Tutorials",
};
200 changes: 105 additions & 95 deletions website/content/de/cli/configuration.md

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions website/content/de/core/_meta.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default {
index: "Kern-Übersicht",
"tools-api": "Tools API",
memport: "Memory Import Processor",
};
20 changes: 10 additions & 10 deletions website/content/de/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,16 @@ Dies ist die empfohlene Methode für Endbenutzer, um Qwen Code zu installieren.

### 2. Ausführen in einer Sandbox (Docker/Podman)

Aus Gründen der Sicherheit und Isolation kann Qwen Code innerhalb eines Containers ausgeführt werden. Dies ist die Standardmethode, wie die CLI Tools ausführt, die Nebenwirkungen haben könnten.
Aus Gründen der Sicherheit und Isolation kann Qwen Code innerhalb eines Containers ausgeführt werden. Dies ist die Standardmethode, wie die CLI Tools mit möglichen Nebenwirkungen ausführt.

- **Direkt aus der Registry:**
Du kannst das veröffentlichte Sandbox-Image direkt ausführen. Dies ist nützlich für Umgebungen, in denen du nur Docker zur Verfügung hast und die CLI ausführen möchtest.
Du kannst das veröffentlichte Sandbox-Image direkt ausführen. Dies ist nützlich für Umgebungen, in denen du nur Docker installiert hast und die CLI ausführen möchtest.
```bash
# Das veröffentlichte Sandbox-Image ausführen
docker run --rm -it ghcr.io/qwenlm/qwen-code:0.0.7
# Run the published sandbox image
docker run --rm -it ghcr.io/qwenlm/qwen-code:0.0.9
```
- **Verwendung des `--sandbox` Flags:**
Wenn du Qwen Code lokal installiert hast (gemäß der oben beschriebenen Standardinstallation), kannst du es anweisen, innerhalb des Sandbox-Containers ausgeführt zu werden.
Wenn du Qwen Code lokal installiert hast (gemäß der oben beschriebenen Standardinstallation), kannst du es anweisen, innerhalb des Sandbox-Containers zu laufen.
```bash
qwen --sandbox -y -p "your prompt here"
```
Expand All @@ -58,11 +58,11 @@ Contributor des Projekts möchten die CLI direkt aus dem Quellcode ausführen.
- **Entwicklungsmodus:**
Diese Methode bietet Hot-Reloading und ist nützlich für die aktive Entwicklung.
```bash
# Vom Root des Repositories
# Vom Root des Repositories aus
npm run start
```
- **Produktionsähnlicher Modus (Verknüpftes Package):**
Diese Methode simuliert eine globale Installation, indem sie dein lokales Package verknüpft. Sie ist nützlich, um einen lokalen Build in einem Produktions-Workflow zu testen.
Diese Methode simuliert eine globale Installation, indem sie das lokale Package verknüpft. Sie ist nützlich, um einen lokalen Build in einem Produktions-Workflow zu testen.

```bash
# Verknüpfe das lokale CLI-Package mit deinen globalen node_modules
Expand All @@ -76,7 +76,7 @@ Contributor des Projekts möchten die CLI direkt aus dem Quellcode ausführen.

### 4. Ausführen des neuesten Qwen Code Commits von GitHub

Du kannst die aktuellste Version von Qwen Code direkt aus dem GitHub-Repository ausführen. Das ist nützlich, um Features zu testen, die sich noch in der Entwicklung befinden.
Du kannst die aktuellste committete Version von Qwen Code direkt aus dem GitHub-Repository ausführen. Das ist nützlich, um Features zu testen, die sich noch in der Entwicklung befinden.

```bash

Expand All @@ -103,11 +103,11 @@ Es gibt zwei verschiedene Build-Prozesse, die je nach Verteilungskanal verwendet

- **NPM-Veröffentlichung:** Für die Veröffentlichung im NPM-Registry wird der TypeScript-Quellcode in `@qwen-code/qwen-code-core` und `@qwen-code/qwen-code` mithilfe des TypeScript Compilers (`tsc`) in Standard-JavaScript transpiliert. Das resultierende `dist/`-Verzeichnis wird im NPM-Paket veröffentlicht. Dies ist ein Standardansatz für TypeScript-Bibliotheken.

- **GitHub `npx`-Ausführung:** Beim direkten Ausführen der neuesten Qwen Code-Version von GitHub wird ein anderer Prozess durch das `prepare`-Script in der `package.json` ausgelöst. Dieses Script verwendet `esbuild`, um die gesamte Anwendung und ihre Abhängigkeiten in eine einzelne, eigenständige JavaScript-Datei zu bündeln. Dieses Bundle wird dynamisch auf dem Rechner des Benutzers erzeugt und nicht im Repository gespeichert.
- **GitHub `npx`-Ausführung:** Beim direkten Ausführen der neuesten Qwen Code-Version von GitHub wird ein anderer Prozess durch das `prepare`-Skript in der `package.json` ausgelöst. Dieses Skript verwendet `esbuild`, um die gesamte Anwendung und ihre Abhängigkeiten in eine einzelne, eigenständige JavaScript-Datei zu bündeln. Dieses Bundle wird dynamisch auf dem Rechner des Benutzers erstellt und nicht im Repository versioniert.

**Docker-Sandbox-Image**

Die Docker-basierte Ausführungsmethode wird vom `qwen-code-sandbox`-Container-Image unterstützt. Dieses Image wird in einer Container-Registry veröffentlicht und enthält eine vorinstallierte, globale Version von Qwen Code.
Die Docker-basierte Ausführungsmethode wird vom Container-Image `qwen-code-sandbox` unterstützt. Dieses Image wird in einer Container-Registry veröffentlicht und enthält eine vorinstallierte, globale Version von Qwen Code.

## Release-Prozess

Expand Down
3 changes: 3 additions & 0 deletions website/content/de/examples/_meta.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export default {
"proxy-script": "Proxy-Script Beispiel",
};
141 changes: 141 additions & 0 deletions website/content/de/ide-integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# IDE-Integration

Die Gemini CLI kann in deine IDE integriert werden, um ein nahtloseres und kontextbezogenes Erlebnis zu bieten. Diese Integration ermöglicht es der CLI, deinen Workspace besser zu verstehen und leistungsstarke Features wie native Diff-Ansicht direkt im Editor zu aktivieren.

Derzeit wird als einzige IDE [Visual Studio Code](https://code.visualstudio.com/) sowie andere Editoren unterstützt, die VS Code-Erweiterungen unterstützen.

## Funktionen

- **Workspace-Kontext:** Die CLI erhält automatisch Informationen über deinen Workspace, um relevantere und genauere Antworten zu liefern. Dieser Kontext umfasst:
- Die **10 zuletzt geöffneten Dateien** in deinem Workspace.
- Deine aktuelle Cursor-Position.
- Jeden Text, den du ausgewählt hast (bis zu einem Limit von 16 KB; längere Selektionen werden gekürzt).

- **Native Diff-Ansicht:** Wenn Gemini Code-Änderungen vorschlägt, kannst du die Änderungen direkt in der nativen Diff-Ansicht deiner IDE betrachten. So kannst du die vorgeschlagenen Änderungen nahtlos überprüfen, bearbeiten und entweder akzeptieren oder ablehnen.

- **VS Code Commands:** Du kannst direkt über die VS Code Command Palette (`Cmd+Shift+P` oder `Ctrl+Shift+P`) auf die Funktionen der Gemini CLI zugreifen:
- `Gemini CLI: Run`: Startet eine neue Gemini CLI-Sitzung im integrierten Terminal.
- `Gemini CLI: Accept Diff`: Akzeptiert die Änderungen im aktiven Diff-Editor.
- `Gemini CLI: Close Diff Editor`: Lehnt die Änderungen ab und schließt den aktiven Diff-Editor.
- `Gemini CLI: View Third-Party Notices`: Zeigt die Third-Party-Hinweise für die Erweiterung an.

## Installation und Einrichtung

Es gibt drei Möglichkeiten, die IDE-Integration einzurichten:

### 1. Automatischer Hinweis (Empfohlen)

Wenn du Gemini CLI innerhalb eines unterstützten Editors ausführst, erkennt es automatisch deine Umgebung und fordert dich auf, eine Verbindung herzustellen. Wenn du mit "Yes" antwortest, wird automatisch das notwendige Setup ausgeführt, inklusive Installation der Companion-Extension und Aktivierung der Verbindung.

### 2. Manuelle Installation über CLI

Falls du die Aufforderung zuvor abgelehnt hast oder die Extension manuell installieren möchtest, kannst du folgenden Befehl innerhalb von Gemini CLI ausführen:

```
/ide install
```

Dieser Befehl findet die richtige Extension für deine IDE und installiert sie.

### 3. Manuelle Installation aus einem Marketplace

Du kannst die Extension auch direkt aus einem Marketplace installieren.

- **Für Visual Studio Code:** Installiere sie über den [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=google.gemini-cli-vscode-ide-companion).
- **Für VS Code Forks:** Um Forks von VS Code zu unterstützen, ist die Extension auch im [Open VSX Registry](https://open-vsx.org/extension/google/gemini-cli-vscode-ide-companion) veröffentlicht. Befolge die Anweisungen deines Editors, um Extensions aus diesem Registry zu installieren.

Nach jeder Installationsmethode wird empfohlen, ein neues Terminal-Fenster zu öffnen, um sicherzustellen, dass die Integration korrekt aktiviert ist. Sobald die Installation abgeschlossen ist, kannst du `/ide enable` verwenden, um dich zu verbinden.

## Verwendung

### Aktivierung und Deaktivierung

Du kannst die IDE-Integration direkt über die CLI steuern:

- Um die Verbindung zur IDE zu aktivieren, führe aus:
```
/ide enable
```
- Um die Verbindung zu deaktivieren, führe aus:
```
/ide disable
```

Wenn aktiviert, wird der Gemini CLI automatisch versuchen, sich mit der IDE-Companion-Erweiterung zu verbinden.

### Status prüfen

Um den Verbindungsstatus zu prüfen und den Kontext anzuzeigen, den die CLI von der IDE erhalten hat, führe aus:

```
/ide status
```

Wenn verbunden, zeigt dieser Befehl die IDE an, mit der die Verbindung besteht, sowie eine Liste der zuletzt geöffneten Dateien, die bekannt sind.

(Hinweis: Die Dateiliste ist auf 10 zuletzt aufgerufene Dateien innerhalb deines Workspaces beschränkt und enthält nur lokale Dateien auf der Festplatte.)

### Arbeiten mit Diffs

Wenn du Gemini bittest, eine Datei zu ändern, kann es direkt eine Diff-Ansicht in deinem Editor öffnen.

**Um ein Diff zu akzeptieren**, kannst du eine der folgenden Aktionen durchführen:

- Klicke auf das **Häkchen-Symbol** in der Titelleiste des Diff-Editors.
- Speichere die Datei (z. B. mit `Cmd+S` oder `Ctrl+S`).
- Öffne die Command Palette und führe **Gemini CLI: Accept Diff** aus.
- Antworte mit `yes` in der CLI, wenn du dazu aufgefordert wirst.

**Um ein Diff abzulehnen**, kannst du:

- Klicke auf das **'x'-Symbol** in der Titelleiste des Diff-Editors.
- Schließe den Diff-Editor-Tab.
- Öffne die Command Palette und führe **Gemini CLI: Close Diff Editor** aus.
- Antworte mit `no` in der CLI, wenn du dazu aufgefordert wirst.

Du kannst auch **die vorgeschlagenen Änderungen direkt in der Diff-Ansicht anpassen**, bevor du sie akzeptierst.

Wenn du in der CLI „Yes, allow always“ auswählst, werden die Änderungen nicht mehr im IDE angezeigt, da sie dann automatisch akzeptiert werden.

## Verwendung mit Sandboxing

Wenn du das Gemini CLI innerhalb einer Sandbox verwendest, beachte bitte Folgendes:

- **Unter macOS:** Die IDE-Integration benötigt Netzwerkzugriff, um mit der IDE-Begleiter-Erweiterung zu kommunizieren. Du musst ein Seatbelt-Profil verwenden, das den Netzwerkzugriff erlaubt.
- **In einem Docker-Container:** Wenn du das Gemini CLI innerhalb eines Docker- (oder Podman-) Containers ausführst, kann sich die IDE-Integration immer noch mit der VS Code-Erweiterung verbinden, die auf deinem Host-Rechner läuft. Das CLI ist so konfiguriert, dass es den IDE-Server automatisch unter `host.docker.internal` findet. Normalerweise ist keine spezielle Konfiguration erforderlich, aber du musst möglicherweise sicherstellen, dass dein Docker-Netzwerksetup Verbindungen vom Container zum Host zulässt.

## Fehlerbehebung

Falls du Probleme mit der IDE-Integration hast, findest du hier einige häufige Fehlermeldungen und deren Lösungen.

### Verbindungsfehler

- **Nachricht:** `🔴 Disconnected: Failed to connect to IDE companion extension for [IDE Name]. Please ensure the extension is running and try restarting your terminal. To install the extension, run /ide install.`
- **Ursache:** Gemini CLI konnte die notwendigen Umgebungsvariablen (`GEMINI_CLI_IDE_WORKSPACE_PATH` oder `GEMINI_CLI_IDE_SERVER_PORT`) nicht finden, um sich mit der IDE zu verbinden. Das bedeutet in der Regel, dass die IDE-Begleiter-Extension nicht läuft oder nicht korrekt initialisiert wurde.
- **Lösung:**
1. Stelle sicher, dass du die **Gemini CLI Companion** Extension in deiner IDE installiert hast und diese aktiviert ist.
2. Öffne ein neues Terminalfenster in deiner IDE, um sicherzustellen, dass die korrekten Umgebungsvariablen übernommen werden.

- **Nachricht:** `🔴 Disconnected: IDE connection error. The connection was lost unexpectedly. Please try reconnecting by running /ide enable`
- **Ursache:** Die Verbindung zum IDE-Begleiter wurde unerwartet unterbrochen.
- **Lösung:** Führe `/ide enable` aus, um eine erneute Verbindung herzustellen. Falls das Problem weiterhin besteht, öffne ein neues Terminalfenster oder starte deine IDE neu.

### Konfigurationsfehler

- **Meldung:** `🔴 Disconnected: Directory mismatch. Gemini CLI is running in a different location than the open workspace in [IDE Name]. Please run the CLI from the same directory as your project's root folder.`
- **Ursache:** Das aktuelle Arbeitsverzeichnis der CLI befindet sich außerhalb des Ordners oder Workspaces, der in deiner IDE geöffnet ist.
- **Lösung:** Wechsle mit `cd` in das Verzeichnis, das in deiner IDE geöffnet ist, und starte die CLI neu.

- **Meldung:** `🔴 Disconnected: To use this feature, please open a single workspace folder in [IDE Name] and try again.`
- **Ursache:** Du hast mehrere Workspace-Ordner in deiner IDE geöffnet oder es ist überhaupt kein Ordner geöffnet. Die IDE-Integration benötigt einen einzelnen Root-Workspace-Ordner, um korrekt zu funktionieren.
- **Lösung:** Öffne einen einzelnen Projektordner in deiner IDE und starte die CLI neu.

### Allgemeine Fehler

- **Nachricht:** `IDE-Integration wird in deiner aktuellen Umgebung nicht unterstützt. Um diese Funktion zu nutzen, führe das Gemini CLI in einer der folgenden unterstützten IDEs aus: [Liste der IDEs]`
- **Ursache:** Du führst das Gemini CLI in einem Terminal oder einer Umgebung aus, die keine unterstützte IDE ist.
- **Lösung:** Führe das Gemini CLI über das integrierte Terminal einer unterstützten IDE wie VS Code aus.

- **Nachricht:** `Für [IDE Name] ist kein Installer verfügbar. Bitte installiere den IDE-Companion manuell über den Marketplace der IDE.`
- **Ursache:** Du hast `/ide install` ausgeführt, aber das CLI verfügt nicht über einen automatisierten Installer für deine spezifische IDE.
- **Lösung:** Öffne den Extension-Marketplace deiner IDE, suche nach "Gemini CLI Companion" und installiere ihn manuell.
Loading