Wie erstelle ich in Vim ein Klassenskelett aus einer gegebenen C++-Klassendefinitionsdatei (Header)?

Wie erstelle ich in Vim ein Klassenskelett aus einer gegebenen C++-Klassendefinitionsdatei (Header)?

Gibt es Plugins/Snippets, die aus einer gegebenen Header-Datei ein C++-Klassenskelett für Vim generieren können? (Ich habe es mit ccimpl versucht, aber es scheint nicht viele Informationen zur Implementierung zu geben.)

Antwort1

Es gibt

  • Protodefdas analysiert die komplette Datei (malgca hat den Link zu vim.sf angegeben, wo sie zu finden ist),

  • lh-cpp, aber dieses Mal müssen Sie jede Funktion und jeden Typ :GOTOIMPLso oft wie nötig auswählen ( :MOVETOIMPLSie können eine Inline-Funktionsdefinition aus der Header-Datei in die CPP-Datei verschieben). Hinweise: Dies ermöglicht auch den Sprung zur Funktionsdefinition, und leider unterstütze ich noch keine Vorlagenfunktionen und -klassen (aber ist das wirklich ein Problem, da ihre Definitionen eingeschlossen sein sollen?).

    Edit 2020: Vorlagenspezifikationen werden nun unterstützt, in einerEntwicklungszweig, Das benötigtein weiteres Plugin ebenfalls in Entwicklungzu diesem Zeitpunkt.

  • Header-Expander, das noch nicht in ein Vim-Plugin eingebunden ist. Es sollte bessere Ergebnisse liefern, da es auf Clang basiert und nicht auf einer manuellen Dekodierung einer C++-Funktionssignatur in einer Skriptsprache (viml, python, ...) -- hier istein Artikeldort wird die Funktionsweise beschrieben (auf Französisch).

Antwort2

http://www.vim.org/scripts/script.php?script_id=213

oder

http://www.vim.org/scripts/script.php?script_id=2624

Könnte Ihnen geben, wonach Sie suchen. Andernfalls können Sie einfach Ihre eigenen Vorlagen für einfache C++-Klassen (und andere Strukturen) definieren, indem Sie entweder eine cpp.tploder cpp.patterns.tpleine Datei erstellen, diese dann in Ihrem afterOrdner ablegen und automatisch ausführen, wenn eine CPP-Datei geladen wird.

verwandte Informationen