2012-06-08 7 views
10

Myślę, że poprawiłoby to jakość życia podczas rozwijania, ale Google nie wyszło nic i nie mogłem znaleźć nic konkretnego wewnątrz Netbeans.W .cpp, czy istnieje sposób automatycznego zaimplementowania wszystkich funkcji z pliku .h?

Co chcę jest zacząć od tego nagłówka:

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

Potem otworzyć pusty bla.cpp i nacisnął 'autoimplement'. Potem będzie wyglądać tak:

#include "bla.h" 

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

Ktoś wie o takim narzędziu?

+0

Co masz na myśli, można podać przykład czego chcesz lub bądź bardziej konkretny? – jedwards

+0

Jak daleko wrócisz do drzewa dziedziczenia? Klasy uzyskane z wielu lub wielu klas bazowych spowodują problemy. Czy na pewno chcesz utworzyć odcinki metod dla deklaracji * absolutnie wszystkich * metod? – Tony

+1

Czasami jest to naprawdę przydatna funkcja. Jest to powszechne w Visual Studio/Resharper, przynajmniej dla .NET - jeśli zadeklarujesz, że klasa implementuje interfejs, możesz go automatycznie wygenerować stubs dla wszystkich publicznych członków tego interfejsu (zwykle z implementacjami, które rzucają wyjątek NotImplemented). Naprawdę polubiłbym tę umiejętność w innych IDE. – Joe

Odpowiedz

3

znalazłem http://www.radwin.org/michael/projects/stubgen/

„stubgen jest C++ narzędzie rozwoju, który przechowuje pliki kodu w synchronizacji z nimi powiązanymi nagłówków. Kiedy znajdzie deklarację funkcji członek w pliku nagłówka, który nie ma odpowiedniego wdrożenia, to tworzy pusty szkielet z opisowymi nagłówkami komentarzy. "

Wygląda na to, że robi dokładnie to, co chcesz.

+0

Zastanawiam się, czy istnieje sposób, aby to działało z Netbeans? – argoneus

3

Minęło trochę czasu, a w międzyczasie żądana funkcja została zaimplementowana w Netbeans. Patrz https://netbeans.org/bugzilla/show_bug.cgi?id=213811, co daje również opis, w jaki sposób z niego korzystać:

Uwaga:
Wdrożony CTRL + spacja.
IDE sugerują, wdrażanie metody klasy jeśli CTRL + SPACE został wciśnięty:
- wewnątrz pliku, który ma już co najmniej jedną definicję metody
- między deklaracjami metoda

+0

sposób użycia: umieść kursor na linii w pliku cpp poza istniejącymi funkcjami i naciśnij CTRL + SPACE. Netbeans wyświetla listę rozwijaną, tak jak w przypadku zwykłej funkcji automatycznego uzupełniania. Wygląda na to, że potrzebujesz istniejącego pliku cpp i przynajmniej jednej metody już zaimplementowanej. – craq

+0

@ craq dzięki za komentarz. Wracając do tego pytania, zauważyłem również, że odpowiedź w dużym stopniu opierała się na łączu do strony błędu. Zmieniłem odpowiedź, aby umieścić tam opis użycia (chociaż twoje wyjaśnienie jest jeszcze lepsze, jak sądzę) – suluke

Powiązane problemy