¿Cómo generar un esqueleto de clase a partir de un archivo de definición de clase (encabezado) de C++ determinado en Vim?

¿Cómo generar un esqueleto de clase a partir de un archivo de definición de clase (encabezado) de C++ determinado en Vim?

¿Existen complementos/fragmentos que puedan generar un esqueleto de clase C++ a partir de un archivo de encabezado determinado, para Vim? (Probé ccimpl pero no parece haber mucha información sobre cómo implementarlo).

Respuesta1

Hay

  • Protodefeso analizará el archivo completo (malgca proporcionó el enlace a vim.sf donde encontrarlo),

  • lh-cpp, pero esta vez, tendrá que seleccionar cada función y escribir :GOTOIMPLtantas veces como sea necesario ( :MOVETOIMPLpuede mover una definición de función incorporada desde el archivo de encabezado al archivo .cpp). Notas: Esto también permite saltar a la definición de la función y, lamentablemente, todavía no admito funciones y clases de plantilla (pero ¿es realmente un problema ya que se incluirán sus definiciones?).

    Edición 2020: las especificaciones de las plantillas ahora son compatibles, en unrama de desarrollo, eso requiereOtro complemento también en desarrollo.en este momento.

  • expansor de encabezado, que aún no está incluido en un complemento vim. Debería dar mejores resultados ya que se basa en clang y no en una decodificación hecha a mano de una firma de función C++ en un lenguaje de programación (viml, python, ...). Aquí estáun artículoque describe cómo funciona (en francés).

Respuesta2

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

o

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

Puede darte lo que estás buscando. De lo contrario, puede simplemente definir sus propias plantillas para clases simples de C++ (y otras estructuras) creando un archivo cpp.tplo cpp.patterns.tpl, luego colocándolos en su aftercarpeta y ejecutándolos automáticamente cuando se carga un archivo cpp.

información relacionada