Forum: Compiler & IDEs Visual Studio - Snippets wie beim Delegaten


von Matthias S. (da_user)


Lesenswert?

Hi,

ich programmiere derzeit in der VisualStudio IDE mit dem 
VisualMicro-PlugIn Arduinos. Derzeit beschäftige ich mit mit den 
Nextion-Displays über die NeoNextion-Library. Ich muss hierbei quasi in 
der Setup-Routine eine Callback-Methode registrieren, die beim 
jeweilligen Event aufgerufen wird, ungefähr so:
1
void setup
2
{
3
   HmiObj1.attach(&callbackHmiObj1);
4
   HmiObj2.attach(&callbackHmiObj2);
5
  //....//
6
}
7
8
void callbackHmiObj1(//parameter)
9
{
10
  //...//
11
}

Da bei der NeoNextionLib die Callbackmethode bei jedem Event aufgerufen 
wird, und ich erst in der Methode unterscheiden kann, welches Event 
aufgetreten ist (Button gedrückt/Button losgelassen/...), sind die 
Callbackmethoden vom gleichen Bedienelement immer gleich aufgebaut und 
ich habe mir jetzt zumindest mal ein Snippet für die 
ButtonCallbackMethode erstellt.
Als ich das gemacht habe, ist mir eingefallen, dass VisualStudio beim 
abonnieren eines Events unter C# mich beim erstellen davon gut 
unterstützt (zweimal Tab: 
https://books.google.de/books?id=pywkKAyhwGIC&pg=PA332&lpg=PA332&dq=c%23+event+zweimal+tab&source=bl&ots=C6UiDo1dTy&sig=BxvQhoBb6qK5v38SIqMaJ5WpZ3o&hl=de&sa=X&ved=0ahUKEwjtlKL_tdzNAhWKfxoKHStHDvoQ6AEIRjAG#v=onepage&q=c%23%20event%20zweimal%20tab&f=false) 
ob ich das mit meinem Snippet nicht auch irgendwie hinbekommen könnte.
Die Königslösung wäre natürlich auch noch, wenn das Snippet erkennen 
könnte, an welchen Objekttyp ich jetzt eine Callbackmethode "attache" 
und dann entsprechend schonmal das Grundgerüst dieser Methode mit 
erstellt.

Gibts den diese Möglichkeit(en)? Wenn ja: wie und wo muss ich mich dazu 
einlesen?

VG
da_user

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> zweimal Tab

<Shortcut>HelloWorld</Shortcut>

Wenn Du dann HelloWorld{Tab}{Tab} eingibst, kommt das Snippet.

https://msdn.microsoft.com/de-de/library/ms165394.aspx

Matthias S. schrieb:
> … wenn das Snippet erkennen
> könnte, an welchen Objekttyp ich jetzt eine Callbackmethode "attache"

Das ist leider im Konzept von M$ nicht vorgesehen.

: Bearbeitet durch User
von Matthias S. (da_user)


Lesenswert?

Nein, da kommt das snippet schon beim ersten Tab. Dieses Verhalten kenne 
ich schon, und es ist auch nicht gesucht.
Mein Snippet soll beim zweiten Tab eine neue Methode auserhalb der, in 
der ich mich gerade befinde, erstellen. Eben genau das Verhalten, wie in 
meinem Link erklärt, nur halt mit meinem Code.

: Bearbeitet durch User
von Matthias S. (da_user)


Lesenswert?

Ich glaube, ich habe das tatsächlich etwas zu ungenau erklärt. Folgendes 
Verhalten wäre traumhaft:

Ich tippe
1
HmiObj1.attach
dann wird mit {Tab} das ergänzt auf
1
HmiObj1.attach(&callbackHmiObj1)
mit einem zweiten {Tab} erhalte ich an geeigneter Stelle die 
dazugehörige Methode:
1
void callbackHmiObj1 (//Parameter)
2
{
3
}

Da ich die Methode wohl nicht Typenbedingt gleich vorausfüllen kann, 
sollte der Cursor natürlich schon zwischen den beiden {} sitzen, dann 
kann ich nämlich gleich mit einem weiteren passenden Snippet mein 
Grundgerüst da reinsetzen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.