Häufige Fragen: Was tun, wenn Tabellen nicht formatiert werden
Was Sie lernen können
Diese Lektion hilft Ihnen, häufige Probleme bei der Plugin-Nutzung schnell zu diagnostizieren und zu lösen:
- Ursachen für nicht formatierte Tabellen identifizieren
- Die Bedeutung des Fehlers "Ungültige Tabellenstruktur" verstehen
- Bekannte Einschränkungen und ungeeignete Szenarien des Plugins kennenlernen
- Schnell überprüfen, ob die Konfiguration korrekt ist
Problem 1: Tabelle wird nicht automatisch formatiert
Symptome
Die KI hat eine Tabelle generiert, aber die Spaltenbreiten sind nicht einheitlich und die Tabelle ist nicht ausgerichtet.
Mögliche Ursachen und Lösungen
Ursache 1: Plugin nicht konfiguriert
Prüfschritte:
- Öffnen Sie die Datei
.opencode/opencode.jsonc - Bestätigen Sie, ob das Plugin im
plugin-Array enthalten ist:
{
"plugin": ["@franlol/[email protected]"]
}- Wenn nicht, fügen Sie die Plugin-Konfiguration hinzu
- Starten Sie OpenCode neu, damit die Konfiguration wirksam wird
Konfigurationsformat
Stellen Sie sicher, dass die Versionsnummer und der Paketname korrekt sind. Verwenden Sie das Format @franlol/opencode-md-table-formatter + @ + Versionsnummer.
Ursache 2: OpenCode nicht neu gestartet
Lösung:
Nach dem Hinzufügen des Plugins müssen Sie OpenCode vollständig neu starten (nicht nur die Seite aktualisieren), damit das Plugin geladen wird.
Ursache 3: Tabelle fehlt Trennzeile
Symptombeispiel:
| Name | Age |
| Alice | 25 |
| Bob | 30 |Diese Tabelle wird nicht formatiert.
Lösung:
Fügen Sie eine Trennzeile hinzu (zweite Zeile im Format |---|):
| Name | Age |
|--- | ---|
| Alice | 25 |
| Bob | 30 |Funktion der Trennzeile
Die Trennzeile ist die Standard-Syntax für Markdown-Tabellen. Sie dient zur Unterscheidung zwischen Kopfzeile und Inhaltszeilen sowie zur Angabe der Ausrichtung. Das Plugin muss eine Trennzeile erkennen, um die Tabelle zu formatieren.
Ursache 4: OpenCode-Version zu niedrig
Prüfschritte:
- Öffnen Sie das OpenCode-Hilfemenü
- Sehen Sie sich die aktuelle Versionsnummer an
- Bestätigen Sie, dass die Version >= 1.0.137 ist
Lösung:
Aktualisieren Sie auf die neueste Version von OpenCode.
Versionsanforderung
Das Plugin verwendet den experimental.text.complete-Hook, der in OpenCode 1.0.137+ verfügbar ist.
Problem 2: Sie sehen den Kommentar "invalid structure"
Symptome
Am Ende der Tabelle erscheint:
<!-- table not formatted: invalid structure -->Was ist eine "ungültige Tabellenstruktur"
Das Plugin validiert jede Markdown-Tabelle. Nur Tabellen, die die Validierung bestehen, werden formatiert. Wenn die Tabellenstruktur nicht den Spezifikationen entspricht, behält das Plugin den Originaltext bei und fügt diesen Kommentar hinzu.
Häufige Ursachen
Ursache 1: Nicht genügend Zeilen
Fehlerbeispiel:
| Name |Nur 1 Zeile, Format unvollständig.
Korrektes Beispiel:
| Name |
|---|Mindestens 2 Zeilen erforderlich (einschließlich Trennzeile).
Ursache 2: Inhomogene Spaltenanzahl
Fehlerbeispiel:
| Name | Age |
|--- | ---|
| Alice |Erste Zeile 2 Spalten, zweite Zeile 1 Spalte, Spaltenanzahl nicht einheitlich.
Korrektes Beispiel:
| Name | Age |
|--- | ---|
| Alice | 25 |Alle Zeilen müssen die gleiche Spaltenanzahl haben.
Ursache 3: Fehlende Trennzeile
Fehlerbeispiel:
| Name | Age |
| Alice | 25 |
| Bob | 30 |Keine Trennzeile wie |---|---|.
Korrektes Beispiel:
| Name | Age |
|--- | ---|
| Alice | 25 |
| Bob | 30 |Schnelle Diagnose
Verwenden Sie die folgende Checkliste:
- [ ] Tabelle hat mindestens 2 Zeilen
- [ ] Alle Zeilen haben die gleiche Spaltenanzahl (zählen Sie, wie viele
|jede Zeile hat) - [ ] Es gibt eine Trennzeile (die zweite Zeile ist normalerweise im Format
|---|)
Wenn alle Bedingungen erfüllt sind, aber der Fehler weiterhin auftritt, überprüfen Sie, ob versteckte Zeichen oder überflüssige Leerzeichen zu falschen Spaltenanzahlberechnungen führen.
Problem 3: Sie sehen den Kommentar "table formatting failed"
Symptome
Am Ende des Textes erscheint:
<!-- table formatting failed: {Fehlermeldung} -->Ursache
Das Plugin hat eine unerwartete Ausnahme ausgelöst.
Lösung
- Fehlermeldung anzeigen: Der Teil
{Fehlermeldung}im Kommentar erklärt das spezifische Problem - Tabelleninhalt prüfen: Bestätigen Sie, ob es extreme Sonderfälle gibt (z. B. sehr lange einzelne Zeilen, spezielle Zeichenkombinationen)
- Originaltext behalten: Auch bei einem Fehlschlag zerstört das Plugin nicht den Originaltext, Ihre Inhalte sind sicher
- Problem melden: Wenn das Problem wiederholt auftritt, können Sie auf GitHub Issues einen Problembericht einreichen
Fehlerisolation
Das Plugin umschließt die Formatierungslogik mit try-catch. Selbst bei einem Fehler wird der OpenCode-Workflow nicht unterbrochen.
Problem 4: Bestimmte Tabellentypen werden nicht unterstützt
Nicht unterstützte Tabellentypen
HTML-Tabellen
Nicht unterstützt:
<table>
<tr><th>Name</th></tr>
<tr><td>Alice</td></tr>
</table>Nur unterstützt: Markdown-Pipe-Tabellen (Pipe Table)
Mehrzeilige Zellen
Nicht unterstützt:
| Name | Description |
|--- | ---|
| Alice | Line 1<br>Line 2 |Warum nicht unterstützt
Das Plugin ist für einfache Tabellen entwickelt, die von der KI generiert werden. Mehrzeilige Zellen erfordern komplexere Layout-Logik.
Tabellen ohne Trennzeile
Nicht unterstützt:
| Name | Age |
| Alice | 25 |
| Bob | 30 |Es muss eine Trennzeile geben (siehe oben "Ursache 3").
Problem 5: Tabelle ist nach der Formatierung immer noch nicht ausgerichtet
Mögliche Ursachen
Ursache 1: Versteckter Modus nicht aktiviert
Das Plugin ist für den Versteckten Modus (Concealment Mode) von OpenCode optimiert, der Markdown-Symbole (wie **, *) ausblendet.
Wenn Ihr Editor den Versteckten Modus nicht aktiviert hat, kann die Tabelle "nicht ausgerichtet" aussehen, da die Markdown-Symbole die tatsächliche Breite beanspruchen.
Lösung:
Bestätigen Sie, dass der Versteckte Modus von OpenCode aktiviert ist (standardmäßig aktiviert).
Ursache 2: Zelleninhalt zu lang
Wenn der Inhalt einer Zelle sehr lang ist, kann die Tabelle sehr breit gestreckt werden.
Dies ist normales Verhalten, das Plugin schneidet den Inhalt nicht ab.
Ursache 3: Symbole im Inline-Code
Markdown-Symbole in Inline-Code (`**code**`) werden wörtlich nach Breite berechnet und nicht entfernt.
Beispiel:
| Symbol | Breite |
|--- | ---|
| Normaler Text | 4 |
| `**bold**` | 8 |Dies ist korrektes Verhalten, da Symbole in Codeblöcken im Versteckten Modus sichtbar sind.
Zusammenfassung dieser Lektion
In dieser Lektion haben Sie gelernt:
- Nicht formatierte Tabellen diagnostizieren: Konfiguration, Neustart, Versionsanforderungen, Trennzeile prüfen
- Ungültige Tabellenfehler verstehen: Validierung von Zeilenanzahl, Spaltenanzahl, Trennzeile
- Bekannte Einschränkungen identifizieren: HTML-Tabellen, mehrzeilige Zellen, Tabellen ohne Trennzeile werden nicht unterstützt
- Schnelle Selbstprüfung: Checkliste zur Validierung der Tabellenstruktur verwenden
Immer noch nicht gelöst?
Wenn Sie alle oben genannten Probleme überprüft haben, aber das Problem weiterhin besteht:
- Vollständige Protokolle anzeigen: Das Plugin läuft standardmäßig still ohne detaillierte Protokolle
- Issue einreichen: Auf GitHub Issues können Sie Ihr Tabellenbeispiel und die Fehlermeldung bereitstellen
- Fortgeschrittene Lektionen lesen: Lesen Sie Tabellenspezifikation und Prinzip des Versteckten Modus für weitere technische Details
Vorschau auf die nächste Lektion
In der nächsten Lektion lernen wir Bekannte Einschränkungen: Wo liegen die Grenzen des Plugins.
Sie werden lernen:
- Designgrenzen und Einschränkungen des Plugins
- Mögliche zukünftige Erweiterungen
- Wie man beurteilt, ob ein Szenario für die Verwendung dieses Plugins geeignet ist
Anhang: Quellcode-Referenz
Klicken, um Quellcodepositionen anzuzeigen
Aktualisierungszeit: 2026-01-26
| Funktion | Dateipfad | Zeilen |
|---|---|---|
| Tabellenvalidierungslogik | index.ts | 70-88 |
| Tabellenzeilenerkennung | index.ts | 58-61 |
| Trennzeilenerkennung | index.ts | 63-68 |
| Fehlerbehandlung | index.ts | 15-20 |
| Ungültige Tabellenkommentare | index.ts | 44-47 |
Wichtige Geschäftsregeln:
isValidTable(): Validiert, dass die Tabelle mindestens 2 Zeilen hat, alle Zeilen die gleiche Spaltenanzahl haben und eine Trennzeile existiert (Zeilen 70-88)isSeparatorRow(): Verwendet den Regex/^\s*:?-+:?\s*$/zur Erkennung der Trennzeile (Zeilen 63-68)- Minimale Spaltenbreite: 3 Zeichen (Zeile 115)
Fehlerbehandlungsmechanismus:
- try-catch umschließt die Hauptverarbeitungsfunktion (Zeilen 15-20)
- Formatierungsfehler: Originaltext behalten + Kommentar
<!-- table formatting failed: {message} -->hinzufügen - Validierungsfehler: Originaltext behalten + Kommentar
<!-- table not formatted: invalid structure -->hinzufügen