import * as vscode from 'vscode'; import { TplQuickFix } from './TplQuickFix'; export class LogFix implements TplQuickFix { public readonly diagnosticCode = 'missing_log_start'; public provideFix(document: vscode.TextDocument, diagnostic: vscode.Diagnostic): vscode.CodeAction[] { const fix = new vscode.CodeAction("Fehlendes Log-Statement einfügen", vscode.CodeActionKind.QuickFix); fix.edit = new vscode.WorkspaceEdit(); // Der Linter hat uns den exakten String in die 'source' gepackt const expectedLog = diagnostic.source || 'log.debug("Start pattern");'; // Füge es eine Zeile unter dem 'body' Keyword ein, sauber eingerückt const insertText = ` ${expectedLog}\n`; fix.edit.insert(document.uri, new vscode.Position(diagnostic.range.start.line + 1, 0), insertText); fix.diagnostics = [diagnostic]; fix.isPreferred = true; return [fix]; } }