2009-10-22 10 views
20

Korzystam z Visual Studio 2008, i zastanawiałem się, czy możliwe było stworzenie plików .cpp z plikami nagłówkowymi.Tworzenie plików .cpp z .h plików wizualnych studio

Więc jeśli mam .h plików z klasy i funkcje, może utworzyć plik kodu z wszystkimi funkcjami wpisanych z pustym ciałem

+0

+1 - Dobre pytanie. Witamy w Stack Overflow. – dss539

+0

Jesteś programistą, napisz to! :) –

+0

@EdS. Widzę, skąd przybywasz, ale po co przepisujesz coś, co już tam jest, działa i testuje. Rozumiem, że to było dawno temu i być może zmieniłeś swój pogląd;) – Vinnyq12

Odpowiedz

1

Można powiedzieć Project -> Add Class ale to tylko robi podstawy. Nie sądzę, że możesz zrobić (jeszcze) to, co sugerujesz, ale byłoby naprawdę wspaniale i nie ma powodu (który mogę wymyślić), dlaczego nie możesz.

0

Wypróbuj mój dodatek AtomineerUtils.

Nie spowoduje to utworzenia całego nagłówka, ale może przekonwertować deklarację nagłówka pojedynczej metody na implementację w powiązanym pliku źródłowym. W razie potrzeby dodaje on nazwę klasy/przestrzeń nazw, wypełnia domyślną implementację, jeśli jest to możliwe (np. Return (NULL)) i dodaje komentarz do Doxygen lub DocXml, dołączając i zawijając komentarz do komentarza z nagłówka jako krótki opis, jeśli dostępny.

3

Należy sprawdzić dodatek Visual Assist X dla programu Visual Studio. Ma wiele funkcji.

+2

Tak, szczególnie jeśli klikniesz prawym przyciskiem myszy na podpis metody w '.h' możesz wybrać' Refactor (VA X) 'then' Create Implementation'. – dukedave

0

Szukasz czegoś do przetwarzania partii plików nagłówkowych, na przykład do budowania generatora kodu, czy jest to jednorazowa sprawa, gdy tworzysz nową klasę?

Mam dość duży wybór napisanych przez siebie makrodefinicji, których używam regularnie podczas opracowywania, a po przeczytaniu odpowiedzi na to pytanie jestem raczej zainspirowany do napisania generatora klas opartego na pliku nagłówkowym. Najlepsze jest to, że już to zrobiłem, po prostu nie w formie Visual Studio. Zrobiłem to podczas pisania generatora kodu, który musiał wygenerować wszystkie te wywołania funkcji, i umieścić standardowe Mutex wokół każdego wywołania, a następnie MAKE wywołanie domyślne i wziąć dowolne wartości zwracane przez błąd i utworzyć ciąg LastError, który był przechowywane w klasie.

Złe jest to, że możesz zrobić to, co chcesz, z czegoś takiego, ale brzmi, jakbyś był zadowolony z podstawowej funkcjonalności ... Zastanowiłbym się właśnie nad stworzeniem makra, które możesz stworzyć Przycisk ToolBar dla, a jeśli klikniesz go podczas ładowania pliku nagłówka, przełączy go i (utworzy .cpp, jeśli nie istnieje), zeskanuj plik .cpp, pomijając wszelkie metody, które mogą już istnieć. Dałoby to również możliwość dodawania nowych funkcji do klas, a następnie w jednym ruchu generuje wszystkie ciała metod.

Być może możesz skontaktować się ze mną z powodu SO, a zobaczymy, czy nasze dwa plany się zgadzają. Widzę ogromną potrzebę tego samego ... Po prostu FYI; sposób, w jaki obecnie obsługuję to ...

Skonstruuję plik .H, a następnie skopiować cały nagłówek do pliku .CPP i wkleić go. Następnie rozpoczyna hackin i slashin na tekst, pozbycie się wszystkich publicznych :, prywatnych: chronionych: linii, linii klasy {}, itd. Następnie kopiuję nazwę klasy wraz z operatorem zasięgu do schowka i zaczynam schodzić w dół ekranu wklejając ją z przodu wszystkich metod (funkcji). Następnie wykonaj wyszukiwanie/zamień na ; z "\ r \ n {\ r \ n} \ r \ n" ... Plus, cokolwiek innego niewiele mogę zrobić porządki ...

Stosując tę ​​metodę, tracę na parze kluczowe rzeczy. Jednym z nich jest wspomniany wyżej Doxygen lub inny rodzaj komentarzy (jeśli piszę klasy API, to jest DUŻO ważniejsze, niż gdybym po prostu pisał jakąś klasę dla jakiejś rzeczy, którą wtedy umieściłbym większość komentarzy w FlowerBox, lub jeszcze lepiej, napisać sam komentujący kod.) i nie otrzymuję automatycznych wartości zwracanych, a nawet po prostu wyrzucam instrukcje, które rzucają jakiś wyjątek "Niezatwierdzony".

THEN czas zacząć pisać kod zajęć. :)

Jako wspomniany Ed S. jesteś programistą, więc MOŻESZ napisać to sam, a jeśli to jest twój plan, daj mi znać, może mógłbym udostępnić część mojego istniejącego kodu, który może ci pomóc, a my mogą korzystać z wyniku.

Mam nadzieję, że nie łamie to żadnych zasad SO, zamieszczając tę ​​odpowiedź, więc jeśli tak, to naprawdę jest mi przykro, i chętnie usunę ją, lub niech administrator usunie ten post.

Mam nadzieję, że to pomaga, a może nawet daje pewne pomysły.

3

Skrót: alt+shift+f10 (VS2015)

Szukałem tego ponad 10+ lat, mówiono wiele razy, że nic takiego nie istnieje, i że trzeba jakoś użyć zewnętrznych narzędzi, aby uzyskać tę podstawową funkcjonalność .

... Teraz wreszcie znalazłem coś pożytecznego.

Podkreśl nazwę klasy w pliku .h, a użycie tego skrótu spowoduje, że program intellisense wygeneruje odpowiednie definicje (również tworząc plik .cpp, jeśli nie został utworzony).

Jest to skrót ogólnego przeznaczenia, np. tworzy dla ciebie kody metod, jeśli utworzysz sygnatury funkcji w nagłówku (i podświetlisz nazwę funkcji). Jak widać na poniższym zrzucie ekranu, ale również pozwala na automatyczne tworzenie wszystkich virtuals z klasy nadrzędnej, itp

Ja absolutnie nie mogę uwierzyć, jak wiele ten nagle poprawił wydajność (wklej pożegnanie instrukcja kopia!). I wydaje mi się to kompletnie szokujące, że nigdy nie widziałem/nie miałem do tego odniesienia, nawet w Stack Overflow, aż do tego momentu.

Ciesz się swoimi nowymi mocami i rozpowszechniaj słowo!

Revolution

Powiązane problemy