Visual Studio - Snippets wie beim Delegaten

OP #4637794
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
Persönliche Seite
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.
OP
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.
OP
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.