VS2005 IDE & MFC
-
connan schrieb:
Es ist doch einfach nur nervig ständig die eigenen virtuals neu definieren zu müssen (ihr wisst schon wie ichs meine).
Nein! Verstehe ich nicht. Ich verwende Visual Assist. Der macht mir soviele Vorschläge, dass ich mich gar nicht verschreiben kann...

-
Klar kannst du dir die entsprechenden Makros basteln.

Strg+Shirt+R und dann werden bis zum nächsten Strg+Shift+R alle Tasten aufgezeichnet.Dann noch das Makro benennen und schon kannst du es per Toolbar einfach aufrufen.

Ich mache so immer die Köpfe über die Funktionen. Das andere habe ich mal versucht, aber das is ne ziemliche Fleissarbeit.

-
Sorry, war im Urlaub

@estartu: Du denkst, man würde das mit Makros hinbekommen? Die müsste man dann aber für jedes Projekt und jede virtuelle Funktion neu definieren?
Gibts denn da nicht noch eine andere Möglichkeit über ein AddIn o. so? Das Buch das Microsoft mit VS05 ausliefert macht da solche Andeutungen (mal im Ernst, dieses Buch ist eine Frechheit *hüstel*).
-
Also, das mit dem Tasten aufzeichnen ist Makro-Programmierung für Anfänger.
Das ist ja ne richtige Programmiersprache, bei der man bestimmt auch auf Code-Datenbanken zurückgreifen kann.
Du kannst dir den produzierten Code hinterher auch angucken. So korrigiere ich dann hinterher, wenn ich mich mittendrin vertippt hatte.
Für VC6 könnte ich dir so ein Tool schicken.

Ich müsste mal testen, wie das auf VC2005 reagiert.
Edit: Ich finde nicht, wie man Add-Ins in die Liste bekommt.
Über Bücher von Microsoft schweige ich mal vorsichtshalber...
Die Quote Brauchbar:Unbrauchbar fällt nicht gut aus.
-
Sooo, habs jetzt endlich hinbekommen (bin zumindest auf einem guten Weg
)
Zum AddIn (vs2005):
Bis jetzt funktioniert folgendes:
Man kann in die Deklaration einer Klasse springen (z.B. Doppelclick auf die Klasse in der Klassenansicht) und dann das Addin starten. In einem TreeView wird dann die Klassenhierarchie sämtlicher Basisklassen mit sämtlichen virtuellen Funktionen angezeigt. Mit Doppelklick auf die entsprechende Funktion wir der Prototyp im Header der Klasse gesetzt und die Definition erstellt
Bei ein paar Sachen komme ich aber nicht so richtig weiter und brauch mal wieder Hilfe
:1. Leider wird die Definition der entsprechenden Funktion im Header der Klasse erstellt. VCCodeClass.AddFunction hat zwar einen Parameter Location nur hab ich damit keinen Erfolg

2. Würde ich gern das AddIn im Kontextmenü der Klassen (Rechtsklick auf eine Klasse der Klassenansicht) verankern. Dazu fehlt mir jedoch zum einen der Zugriff auf eben jenes Menu zum anderen der Zugriff auf die gewählte Klasse. Die Klasse wird im Moment noch über die Textselection bestimmt.
Habt schon mal vielen Dank für eure Hilfe. Wenn jemand Lust hat lad ich das Projekt auch gern mal hoch.
p.s. gehört jetzt irgendwie nur noch indirekt ins MFC Forum (c#- AddIn), vieleicht verschieben

-
estartu schrieb:
Klar kannst du dir die entsprechenden Makros basteln.

Strg+Shirt+R und dann werden bis zum nächsten Strg+Shift+R alle Tasten aufgezeichnet.Dann noch das Makro benennen und schon kannst du es per Toolbar einfach aufrufen.

Ich mache so immer die Köpfe über die Funktionen. Das andere habe ich mal versucht, aber das is ne ziemliche Fleissarbeit.

Köpfe über Funktionen macht bei mir die Autotext-Funktion von Visual Assist
.
-
connan schrieb:
Sooo, habs jetzt endlich hinbekommen (bin zumindest auf einem guten Weg
)
Zum AddIn (vs2005):
Bis jetzt funktioniert folgendes:
Man kann in die Deklaration einer Klasse springen (z.B. Doppelclick auf die Klasse in der Klassenansicht) und dann das Addin starten. In einem TreeView wird dann die Klassenhierarchie sämtlicher Basisklassen mit sämtlichen virtuellen Funktionen angezeigt. Mit Doppelklick auf die entsprechende Funktion wir der Prototyp im Header der Klasse gesetzt und die Definition erstellt
Bei ein paar Sachen komme ich aber nicht so richtig weiter und brauch mal wieder Hilfe
:1. Leider wird die Definition der entsprechenden Funktion im Header der Klasse erstellt. VCCodeClass.AddFunction hat zwar einen Parameter Location nur hab ich damit keinen Erfolg

2. Würde ich gern das AddIn im Kontextmenü der Klassen (Rechtsklick auf eine Klasse der Klassenansicht) verankern. Dazu fehlt mir jedoch zum einen der Zugriff auf eben jenes Menu zum anderen der Zugriff auf die gewählte Klasse. Die Klasse wird im Moment noch über die Textselection bestimmt.
Habt schon mal vielen Dank für eure Hilfe. Wenn jemand Lust hat lad ich das Projekt auch gern mal hoch.
p.s. gehört jetzt irgendwie nur noch indirekt ins MFC Forum (c#- AddIn), vieleicht verschieben

Keiner eine Idee?

Estartu?
-
Soo, ist jetzt der letzte Versuch (Versprochen).
Ich hab mal in dem jetzigen Zustand (siehe oben) ein bisschen getestet und bis jetzt hat sich das AddIn als sehr angenehm erwiesen. So sind bei mir zum ersten mal Interfaces eine wirkliche Erleichterung: Vom Interface ableiten und per Klick die abstrakten Methoden definieren
.
Was im Moment aber noch am meisten stört ist, daß man die Funktionsdefinition
z.B.:void CFoo::Bar(void) { }per Hand aus dem Header in die cpp verschieben muß. Wenn dazu jemand eine praktikable Lösung hätte...

Ein kleineres Problem habe ich mit dem Addin-Projekt an sich, wenn ich das Projekt auf einen anderem Rechner erstelle ist das AddIn nicht verfügbar, selbst wenn ich die zugehörige AddIn-Datei mit übernehme

Irgendwie scheint vom ganzen VS die AddIn-Geschichte am wenigsten dokumentiert zu sein

Bin wirklich für jede Hilfe dankbar!
connan
-
Soo, hab das Addin noch etwas erweitert, so, daß auch die Möglichkeit zur Auswahl der CToren besteht (CTor Überschreibungen duchzuschleifen ist doch immer sehr lästig).
Zum Problem im vorherigen Post hab ich immer noch keine Lösung gefunden, aber es muß irgenwie gehen, verdammt nochmal.Ein kleineres Problem habe ich mit dem Addin-Projekt an sich, wenn ich das Projekt auf einen anderem Rechner erstelle ist das AddIn nicht verfügbar, selbst wenn ich die zugehörige AddIn-Datei mit übernehme
Das hat sich inzwischen gelöst, das Problem war, dass ich die .Addin Datei nicht mit übernommen hatte, als auch die dll falsch referenziert wurde.
-
Hier mal ein Screenshot: http://wwwpub.zih.tu-dresden.de/~sb821288/vfaddin.png
Im Fenster werden alle virtuellen Funktionen der Elternklassen dargestellt, mit Doppelklick wird der Funktionsrumpf zur ausgewählten Klasse hinzugefügt.