2012-06-08 9 views
10

Creo que esto aumentaría la calidad de vida al envolver, pero Google no encontró nada y tampoco pude encontrar nada específico dentro de Netbeans.En .cpp, ¿hay alguna forma de implementar automáticamente todas las funciones desde su .h?

Lo que quiero es empezar con esta cabecera:

class bla 
{ 
public: 
    static void gfg(somearg asd); 
}; 

Entonces abra la bla.cpp en blanco y presiona 'autoimplement'. Después de eso, se vería así:

#include "bla.h" 

static void bla::gfg(somearg asd) 
{ 
    //TODO: implement 
    throw unimplemented("void bla::gfg(somearg) is unimplemented"); 
} 

¿Alguien sabe de una herramienta como esta?

+0

¿Qué quiere decir, ¿Podría dar un ejemplo de ¿Qué quieres o ser más específico? – jedwards

+0

¿Cuánto tiempo atrás en el árbol de herencia te gustaría ir? Las clases derivadas de clases base múltiples o muchas le causarán problemas. ¿Realmente deseas crear stubs de métodos para declaraciones de métodos * absolutamente todo *? – Tony

+1

Esta es una característica realmente útil a veces. Es común en Visual Studio/Resharper, al menos para .NET: si declaras que una clase implementa una interfaz, puedes hacer que genere stubs para todos los miembros públicos de esa interfaz (generalmente con implementaciones que lanzan una excepción NotImplemented). Realmente me gustaría esta habilidad en otros IDEs. – Joe

Respuesta

3

He encontrado http://www.radwin.org/michael/projects/stubgen/

"stubgen es una herramienta de desarrollo C++ que mantiene archivos de código en sincronía con sus cabeceras asociadas. Cuando encuentra una declaración de función miembro en un archivo de cabecera que no tiene una ejecución correspondiente, se crea un esqueleto vacío con encabezados de comentarios descriptivos ".

Parece que hace exactamente lo que usted quiere que haga.

+0

Me pregunto si hay una manera de hacer que esto funcione con Netbeans? – argoneus

3

Ha pasado algún tiempo y, mientras tanto, parece que la función solicitada se ha implementado en netbeans. Consulte la https://netbeans.org/bugzilla/show_bug.cgi?id=213811, que también da una descripción sobre cómo usarlo:

Nota:
Implementado CTRL + ESPACIO.
IDE sugiere la implementación del método de la clase si CTRL + ESPACIO fue presionado:
- archivo que ya tiene por lo menos un método de definición
interior - entre declaraciones de métodos

+0

cómo usarlo: coloca el cursor sobre una línea en un archivo cpp fuera de las funciones existentes y presiona CTRL + SPACE. Netbeans le proporciona una lista desplegable en cuanto a la funcionalidad normal de autocompletar. Parece que necesita un archivo cpp existente y al menos un método ya implementado. – craq

+0

@craq gracias por el comentario. Cuando volví a la pregunta, también noté que la respuesta dependía en gran medida del enlace a la página de bugtracker. Edité la respuesta para incluir la descripción de uso a partir de allí (aunque tu explicación es aún mejor, creo) – suluke

Cuestiones relacionadas