Loading...
  • Erstellen
  • Admin
  • Modelle & Preise
  • Client-SDKs
  • API-Referenz
Search...
⌘K
Log in
Texteditor-Tool
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Erstellen/Tools

Text-Editor-Tool

Claude kann ein Anthropic-Schema-Text-Editor-Tool verwenden, um Textdateien anzuzeigen und zu ändern und Ihnen beim Debuggen, Beheben und Verbessern Ihres Codes oder anderer Textdokumente zu helfen.

Was this page helpful?

  • Wann das Text-Editor-Tool verwendet werden sollte
  • Das Text-Editor-Tool verwenden
  • Text-Editor-Tool-Befehle
  • Beispiel: Behebung eines Syntaxfehlers mit dem Text-Editor-Tool
  • Implementieren Sie das Text-Editor-Tool
  • Fehler behandeln
  • Befolgen Sie Best Practices für die Implementierung
  • Preisgestaltung und Token-Nutzung
  • Integrieren Sie das Text-Editor-Tool mit anderen Tools
  • Änderungsprotokoll
  • Nächste Schritte

This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

Claude kann ein Anthropic-Schema-Text-Editor-Tool verwenden, um Textdateien anzuzeigen und zu ändern und Ihnen beim Debuggen, Beheben und Verbessern Ihres Codes oder anderer Textdokumente zu helfen. Dies ermöglicht Claude, direkt mit Ihren Dateien zu interagieren und praktische Unterstützung zu bieten, anstatt nur Änderungen vorzuschlagen.

Informationen zur Modellunterstützung finden Sie in der Tool-Referenz.

Wann das Text-Editor-Tool verwendet werden sollte

Einige Beispiele für die Verwendung des Text-Editor-Tools sind:

  • Code-Debugging: Lassen Sie Claude Fehler in Ihrem Code identifizieren und beheben, von Syntaxfehlern bis zu Logikproblemen.
  • Code-Refactoring: Lassen Sie Claude Ihre Code-Struktur, Lesbarkeit und Leistung durch gezielte Änderungen verbessern.
  • Dokumentationsgenerierung: Bitten Sie Claude, Docstrings, Kommentare oder README-Dateien zu Ihrer Codebasis hinzuzufügen.
  • Testerstellung: Lassen Sie Claude Unit-Tests für Ihren Code basierend auf seinem Verständnis der Implementierung erstellen.

Das Text-Editor-Tool verwenden

Stellen Sie das Text-Editor-Tool (benannt str_replace_based_edit_tool) Claude über die Messages API zur Verfügung.

Sie können optional einen max_characters-Parameter angeben, um die Kürzung beim Anzeigen großer Dateien zu steuern.

max_characters ist nur mit text_editor_20250728 und späteren Versionen des Text-Editor-Tools kompatibel.

Das Text-Editor-Tool kann auf folgende Weise verwendet werden:

Text-Editor-Tool-Befehle

Das Text-Editor-Tool unterstützt mehrere Befehle zum Anzeigen und Ändern von Dateien:

view

Der view-Befehl ermöglicht Claude, den Inhalt einer Datei zu untersuchen oder den Inhalt eines Verzeichnisses aufzulisten. Er kann die gesamte Datei oder einen bestimmten Zeilenbereich lesen.

Parameter:

  • command: Muss „view" sein
  • path: Der Pfad zur anzuzeigenden Datei oder zum Verzeichnis
  • view_range (optional): Ein Array von zwei Ganzzahlen, die die Start- und Endzeilennummern zum Anzeigen angeben. Zeilennummern sind 1-indiziert, und -1 für die Endzeilennummer bedeutet, bis zum Ende der Datei zu lesen. Dieser Parameter gilt nur beim Anzeigen von Dateien, nicht von Verzeichnissen.

str_replace

Der str_replace-Befehl ermöglicht Claude, eine bestimmte Zeichenkette in einer Datei durch eine neue Zeichenkette zu ersetzen. Dies wird für präzise Änderungen verwendet.

Parameter:

  • command: Muss „str_replace" sein
  • path: Der Pfad zur zu ändernden Datei
  • old_str: Der zu ersetzende Text (muss genau übereinstimmen, einschließlich Leerzeichen und Einrückung)
  • new_str: Der neue Text, der an Stelle des alten Textes eingefügt werden soll

create

Der create-Befehl ermöglicht Claude, eine neue Datei mit angegebenem Inhalt zu erstellen.

Parameter:

  • command: Muss „create" sein
  • path: Der Pfad, in dem die neue Datei erstellt werden soll
  • file_text: Der Inhalt, der in die neue Datei geschrieben werden soll

insert

Der insert-Befehl ermöglicht Claude, Text an einer bestimmten Stelle in einer Datei einzufügen.

Parameter:

  • command: Muss „insert" sein
  • path: Der Pfad zur zu ändernden Datei
  • insert_line: Die Zeilennummer, nach der der Text eingefügt werden soll (0 für Anfang der Datei)
  • insert_text: Der einzufügende Text

Beispiel: Behebung eines Syntaxfehlers mit dem Text-Editor-Tool

Dieses Beispiel zeigt, wie Claude das Text-Editor-Tool verwendet, um einen Syntaxfehler in einer Python-Datei zu beheben.

Zunächst stellt Ihre Anwendung Claude mit dem Text-Editor-Tool und einer Aufforderung zur Behebung eines Syntaxfehlers bereit:

Claude verwendet das Text-Editor-Tool zunächst zum Anzeigen der Datei:

Output
{
  "id": "msg_01XAbCDeFgHiJkLmNoPQrStU",
  "model": "claude-opus-4-7",
  "stop_reason": "tool_use",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "I'll help you fix the syntax error in your primes.py file. First, let me take a look at the file to identify the issue."
    },
    {
      "type": "tool_use",
      "id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
      "name": "str_replace_based_edit_tool",
      "input": {
        "command": "view",
        "path": "primes.py"
      }
    }
  ]
}

Ihre Anwendung sollte dann die Datei lesen und ihren Inhalt an Claude zurückgeben:

Zeilennummern

Im obigen Beispiel enthält das view-Tool-Ergebnis Dateiinhalte mit Zeilennummern, die jeder Zeile vorangestellt sind (z. B. "1: def is_prime(n):"). Zeilennummern sind nicht erforderlich, aber sie sind wesentlich für die erfolgreiche Verwendung des view_range-Parameters zum Untersuchen bestimmter Dateibereiche und des insert_line-Parameters zum Hinzufügen von Inhalten an genauen Positionen.

Claude identifiziert den Syntaxfehler und verwendet den str_replace-Befehl, um ihn zu beheben:

Output
{
  "id": "msg_01VwXyZAbCdEfGhIjKlMnO",
  "model": "claude-opus-4-7",
  "stop_reason": "tool_use",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "I found the syntax error in your primes.py file. In the `get_primes` function, there is a missing colon (:) at the end of the for loop line. Let me fix that for you."
    },
    {
      "type": "tool_use",
      "id": "toolu_01PqRsTuVwXyZAbCdEfGh",
      "name": "str_replace_based_edit_tool",
      "input": {
        "command": "str_replace",
        "path": "primes.py",
        "old_str": "    for num in range(2, limit + 1)",
        "new_str": "    for num in range(2, limit + 1):"
      }
    }
  ]
}

Ihre Anwendung sollte dann die Bearbeitung durchführen und das Ergebnis zurückgeben:

Abschließend bietet Claude eine vollständige Erklärung der Behebung:

Output
{
  "id": "msg_01IjKlMnOpQrStUvWxYzAb",
  "model": "claude-opus-4-7",
  "stop_reason": "end_turn",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "I've fixed the syntax error in your primes.py file. The issue was in the `get_primes` function at line 19. There was a missing colon (:) at the end of the for loop line.\n\nHere's what I changed:\n\nFrom:\n```python\nfor num in range(2, limit + 1)\n```\n\nTo:\n```python\nfor num in range(2, limit + 1):\n```\n\nIn Python, a colon is required at the end of statements that start a new code block, such as for loops, if statements, function definitions, etc. Without the colon, Python raises a syntax error because it doesn't know where the code block begins.\n\nYour code should now run correctly. The function will properly generate a list of prime numbers up to the specified limit."
    }
  ]
}

Implementieren Sie das Text-Editor-Tool

Das Text-Editor-Tool wird als schemafreies Tool implementiert. Bei der Verwendung dieses Tools müssen Sie kein Eingabeschema wie bei anderen Tools bereitstellen; das Schema ist in Claudes Modell integriert und kann nicht geändert werden.

Der Tool-Typ ist type: "text_editor_20250728" für Claude 4-Modelle.

Beachten Sie bei der Implementierung des Text-Editor-Tools Folgendes:

  1. Sicherheit: Das Tool hat Zugriff auf Ihr lokales Dateisystem, daher sollten Sie angemessene Sicherheitsmaßnahmen implementieren.
  2. Sicherung: Erstellen Sie immer Sicherungen, bevor Sie Änderungen an wichtigen Dateien zulassen.
  3. Validierung: Validieren Sie alle Eingaben, um unbeabsichtigte Änderungen zu verhindern.
  4. Eindeutige Übereinstimmung: Stellen Sie sicher, dass Ersetzungen genau an einer Stelle übereinstimmen, um unbeabsichtigte Bearbeitungen zu vermeiden.

Fehler behandeln

Bei der Verwendung des Text-Editor-Tools können verschiedene Fehler auftreten. Hier finden Sie Anleitungen zur Fehlerbehandlung:

Befolgen Sie Best Practices für die Implementierung


Preisgestaltung und Token-Nutzung

The text editor tool uses the same pricing structure as other tools used with Claude. It follows the standard input and output token pricing based on the Claude model you're using.

In addition to the base tokens, the following additional input tokens are needed for the text editor tool:

ToolAdditional input tokens
text_editor_20250429 (Claude 4.x)700 tokens

Weitere detaillierte Informationen zur Tool-Preisgestaltung finden Sie unter Tool-Nutzungspreisgestaltung.

Integrieren Sie das Text-Editor-Tool mit anderen Tools

Das Text-Editor-Tool kann zusammen mit anderen Claude-Tools verwendet werden. Beim Kombinieren von Tools sollten Sie Folgendes sicherstellen:

  • Stimmen Sie die Tool-Version mit dem Modell ab, das Sie verwenden
  • Berücksichtigen Sie die zusätzliche Token-Nutzung für alle Tools, die in Ihrer Anfrage enthalten sind

Änderungsprotokoll

DatumVersionÄnderungen
28. Juli 2025text_editor_20250728Veröffentlichung eines aktualisierten Text-Editor-Tools, das einige Probleme behebt und einen optionalen max_characters-Parameter hinzufügt. Es ist ansonsten identisch mit text_editor_20250429.
29. April 2025text_editor_20250429Veröffentlichung des Text-Editor-Tools für Claude 4. Diese Version entfernt den undo_edit-Befehl, behält aber alle anderen Funktionen bei. Der Tool-Name wurde aktualisiert, um seine str_replace-basierte Architektur widerzuspiegeln.
13. März 2025text_editor_20250124Einführung der eigenständigen Text-Editor-Tool-Dokumentation. Diese Version ist für Claude Sonnet 3.7 optimiert, hat aber identische Funktionen wie die vorherige Version.
22. Oktober 2024text_editor_20241022Erste Veröffentlichung des Text-Editor-Tools mit Claude Sonnet 3.5 (). Bietet Funktionen zum Anzeigen, Erstellen und Bearbeiten von Dateien über die Befehle , , , und .

Nächste Schritte

Hier sind einige Ideen, wie Sie das Text-Editor-Tool auf bequemere und leistungsfähigere Weise verwenden können:

  • Integration in Ihren Entwicklungs-Workflow: Integrieren Sie das Text-Editor-Tool in Ihre Entwicklungstools oder IDE
  • Erstellen Sie ein Code-Review-System: Lassen Sie Claude Ihren Code überprüfen und verbessern
  • Erstellen Sie einen Debugging-Assistenten: Erstellen Sie ein System, in dem Claude Ihnen bei der Diagnose und Behebung von Problemen in Ihrem Code helfen kann
  • Implementieren Sie Dateiformat-Konvertierung: Lassen Sie Claude Ihnen bei der Konvertierung von Dateien von einem Format in ein anderes helfen
  • Automatisieren Sie die Dokumentation: Richten Sie Workflows ein, damit Claude Ihren Code automatisch dokumentiert

Das Text-Editor-Tool ermöglicht Claude, direkt mit Ihrer Codebasis zu arbeiten und unterstützt Workflows von Debugging bis zur automatisierten Dokumentation.

Tool-Nutzungsübersicht

Erfahren Sie, wie Sie Tool-Workflows zur Verwendung mit Claude implementieren.

Bash-Tool

Führen Sie Shell-Befehle mit Claude aus.

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=[
        {
            "type": "text_editor_20250728",
            "name": "str_replace_based_edit_tool",
            "max_characters": 10000,
        }
    ],
    messages=[
        {
            "role": "user",
            "content": "There's a syntax error in my primes.py file. Can you help me fix it?",
        }
    ],
)

print(response)
  1. 1

    Stellen Sie Claude das Text-Editor-Tool und eine Benutzereingabe zur Verfügung

    • Fügen Sie das Text-Editor-Tool in Ihre API-Anfrage ein
    • Geben Sie eine Benutzereingabe an, die möglicherweise das Untersuchen oder Ändern von Dateien erfordert, z. B. „Kannst du den Syntaxfehler in meinem Code beheben?"
  2. 2

    Claude verwendet das Tool, um Dateien oder Verzeichnisse zu untersuchen

    • Claude bewertet, was es sich ansehen muss, und verwendet den view-Befehl, um Dateiinhalte zu untersuchen oder Verzeichnisinhalte aufzulisten
    • Die API-Antwort enthält einen tool_use-Inhaltsblock mit dem view-Befehl
  3. 3

    Führen Sie den view-Befehl aus und geben Sie die Ergebnisse zurück

    • Extrahieren Sie den Datei- oder Verzeichnispfad aus Claudes Tool-Use-Anfrage
    • Lesen Sie den Inhalt der Datei oder listen Sie die Verzeichnisinhalte auf
    • Wenn ein max_characters-Parameter in der Tool-Konfiguration angegeben wurde, kürzen Sie den Dateiinhalt auf diese Länge
    • Geben Sie die Ergebnisse an Claude zurück, indem Sie das Gespräch mit einer neuen user-Nachricht fortsetzen, die einen tool_result-Inhaltsblock enthält
  4. 4

    Claude verwendet das Tool, um Dateien zu ändern

    • Nach der Untersuchung der Datei oder des Verzeichnisses kann Claude einen Befehl wie str_replace verwenden, um Änderungen vorzunehmen, oder insert, um Text in einer bestimmten Zeilennummer hinzuzufügen
    • Wenn Claude den str_replace-Befehl verwendet, erstellt Claude eine ordnungsgemäß formatierte Tool-Use-Anfrage mit dem alten Text und dem neuen Text, um ihn zu ersetzen
  5. 5

    Führen Sie die Bearbeitung aus und geben Sie die Ergebnisse zurück

    • Extrahieren Sie den Dateipfad, den alten Text und den neuen Text aus Claudes Tool-Use-Anfrage
    • Führen Sie den Textersatz in der Datei durch
    • Geben Sie die Ergebnisse an Claude zurück
  6. 6

    Claude bietet seine Analyse und Erklärung

    • Nach der Untersuchung und möglicherweise Bearbeitung der Dateien bietet Claude eine vollständige Erklärung dessen, was es gefunden hat und welche Änderungen es vorgenommen hat
client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=[{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}],
    messages=[
        {
            "role": "user",
            "content": "There's a syntax error in my primes.py file. Can you help me fix it?",
        }
    ],
)

print(response)
response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=[{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}],
    messages=[
        {
            "role": "user",
            "content": "There's a syntax error in my primes.py file. Can you help me fix it?",
        },
        {
            "role": "assistant",
            "content": [
                {
                    "type": "text",
                    "text": "I'll help you fix the syntax error in your primes.py file. First, let me take a look at the file to identify the issue.",
                },
                {
                    "type": "tool_use",
                    "id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
                    "name": "str_replace_based_edit_tool",
                    "input": {"command": "view", "path": "primes.py"},
                },
            ],
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "tool_result",
                    "tool_use_id": "toolu_01AbCdEfGhIjKlMnOpQrStU",
                    "content": '1: def is_prime(n):\n2:     """Check if a number is prime."""\n3:     if n <= 1:\n4:         return False\n5:     if n <= 3:\n6:         return True\n7:     if n % 2 == 0 or n % 3 == 0:\n8:         return False\n9:     i = 5\n10:     while i * i <= n:\n11:         if n % i == 0 or n % (i + 2) == 0:\n12:             return False\n13:         i += 6\n14:     return True\n15: \n16: def get_primes(limit):\n17:     """Generate a list of prime numbers up to the given limit."""\n18:     primes = []\n19:     for num in range(2, limit + 1)\n20:         if is_prime(num):\n21:             primes.append(num)\n22:     return primes\n23: \n24: def main():\n25:     """Main function to demonstrate prime number generation."""\n26:     limit = 100\n27:     prime_list = get_primes(limit)\n28:     print(f"Prime numbers up to {limit}:")\n29:     print(prime_list)\n30:     print(f"Found {len(prime_list)} prime numbers.")\n31: \n32: if __name__ == "__main__":\n33:     main()',
                }
            ],
        },
    ],
)

print(response)
response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=[{"type": "text_editor_20250728", "name": "str_replace_based_edit_tool"}],
    messages=[
        # Previous messages...
        {
            "role": "assistant",
            "content": [
                {
                    "type": "text",
                    "text": "I found the syntax error in your primes.py file. In the `get_primes` function, there is a missing colon (:) at the end of the for loop line. Let me fix that for you.",
                },
                {
                    "type": "tool_use",
                    "id": "toolu_01PqRsTuVwXyZAbCdEfGh",
                    "name": "str_replace_based_edit_tool",
                    "input": {
                        "command": "str_replace",
                        "path": "primes.py",
                        "old_str": "    for num in range(2, limit + 1)",
                        "new_str": "    for num in range(2, limit + 1):",
                    },
                },
            ],
        },
        {
            "role": "user",
            "content": [
                {
                    "type": "tool_result",
                    "tool_use_id": "toolu_01PqRsTuVwXyZAbCdEfGh",
                    "content": "Successfully replaced text at exactly one location.",
                }
            ],
        },
    ],
)

print(response)
  1. 1

    Initialisieren Sie Ihre Editor-Implementierung

    Erstellen Sie Hilfsfunktionen zur Verarbeitung von Dateivorgängen wie Lesen, Schreiben und Ändern von Dateien. Erwägen Sie die Implementierung einer Sicherungsfunktion, um sich von Fehlern zu erholen.

  2. 2

    Verarbeiten Sie Editor-Tool-Aufrufe

    Erstellen Sie eine Funktion, die Tool-Aufrufe von Claude basierend auf dem Befehlstyp verarbeitet:

    def handle_editor_tool(tool_call):
        input_params = tool_call.input
        command = input_params.get("command", "")
        file_path = input_params.get("path", "")
    
        if command == "view":
            # Read and return file contents
            pass
        elif command == "str_replace":
            # Replace text in file
            pass
        elif command == "create":
            # Create new file
            pass
        elif command == "insert":
            # Insert text at location
            pass
  3. 3

    Implementieren Sie Sicherheitsmaßnahmen

    Fügen Sie Validierungs- und Sicherheitsprüfungen hinzu:

    • Validieren Sie Dateipfade, um Directory-Traversal zu verhindern
    • Erstellen Sie Sicherungen vor Änderungen
    • Behandeln Sie Fehler elegant
    • Implementieren Sie Berechtigungsprüfungen
  4. 4

    Verarbeiten Sie Claudes Antworten

    Extrahieren und verarbeiten Sie Tool-Aufrufe aus Claudes Antworten:

    # Process tool use in Claude's response
    for content in response.content:
        if content.type == "tool_use":
            # Execute the tool based on command
            result = handle_editor_tool(content)
    
            # Return result to Claude
            tool_result = {
                "type": "tool_result",
                "tool_use_id": content.id,
                "content": result,
            }

eingestellt
view
create
str_replace
insert
undo_edit