Benutzer mit den meisten Antworten
Visual Studio 2015 Feld kapseln bearbeiten

Frage
-
Hallo,
ich versuche das "encapsulate field" snippet von: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Snippets\1033\Refactoring\EncapsulateField.snippet zu erweitern.
Mein Feld lautet:
int test;
Wenn ich strg+r+e drücke ist das Ergebnis:
public int Test { get { return test; } set { test = value; } }
Stattdessen hätte ich aber gerne:
public int Test { get { return test; } set { test = value; OnChange(); } }
Wenn ich mir das oben erwähnte Snippet angucke sieht es wie folgt aus:
<![CDATA[ $modifier$ $type$ $name$ { get { return $field$; } set { $field$ = value; } }]]>
Erwartet hätte ich aber eher:
<![CDATA[ $modifier$ $type$ $name$ { get { return $field$; } set { $field$ = value; } }]]>
Ist das nicht der richtige Ort um das Snippet zu ändern oder kann man es gar nicht ändern?
Gruß
5p1k3
Antworten
-
Die Tastentkombination Strg+R,E kannte ich bisher nicht. Ich hätte eher einen Namen eingeben der mittels Strg+K,S oder <Snippet/Name><Tab><Tab> zu einem Snippet führt.
Jetzt wo ich das gerade so schreibe, glaube ich dass du das Verhalten von Strg+R,E gar nicht ändern kannst. Denn das ist IMO ein Befehl der sich in den Tastenkombinations-Optionen unter Edit versteckt. Es ist also kein Snippet.
Das Snippet propfull ist dagegen das was du gefunden hast. Wenn du propfull<Tab><Tab> im Editor eingibst, dann wird eine komplette Eigenschaft inkl. Backing-Field geniert. Das müsstest du anpassen bzw. ändern. propfull ist auch so formatiert wie das Snippet, welches du gefunden hast.
IMO macht es aber keinen Unterschied ob du den Snippet-Namen eintippst und 2*Tab drückst oder das Feld eintippst und dann Strg+R,E. Dürfte am Ende beides gleich schnell sein.
Viele Grüße, Tom Lambert - MVP, MCC und MSP
Wozu Antworten markieren und Posts bewerten? Klicke hier
Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 13. Januar 2017 08:09
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 27. Januar 2017 09:00
Alle Antworten
-
Hallo,
inhaltlich ist der Code ja der selbe. Daher würde ich hier eher vermuten, dass VS den Code neu formatiert und deshalb die Zeilenumbrüche zustande kommen.
Davon unabhängig reicht es u.U. nicht das Snippet einfach anzupassen. Du musst es anschließend noch über den Snippet Manager als Custom-Snippet wieder hinzufügen. Das würde ich dir sowieso empfehlen, einfach um das alte Snippet beizubehalten, falls du es mal brauchst. Dem neuen Snippet kannst du dann ein etwas anderes Kürzel geben.
Viele Grüße, Tom Lambert - MVP, MCC und MSP
Wozu Antworten markieren und Posts bewerten? Klicke hier
Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub -
Die Tastentkombination Strg+R,E kannte ich bisher nicht. Ich hätte eher einen Namen eingeben der mittels Strg+K,S oder <Snippet/Name><Tab><Tab> zu einem Snippet führt.
Jetzt wo ich das gerade so schreibe, glaube ich dass du das Verhalten von Strg+R,E gar nicht ändern kannst. Denn das ist IMO ein Befehl der sich in den Tastenkombinations-Optionen unter Edit versteckt. Es ist also kein Snippet.
Das Snippet propfull ist dagegen das was du gefunden hast. Wenn du propfull<Tab><Tab> im Editor eingibst, dann wird eine komplette Eigenschaft inkl. Backing-Field geniert. Das müsstest du anpassen bzw. ändern. propfull ist auch so formatiert wie das Snippet, welches du gefunden hast.
IMO macht es aber keinen Unterschied ob du den Snippet-Namen eintippst und 2*Tab drückst oder das Feld eintippst und dann Strg+R,E. Dürfte am Ende beides gleich schnell sein.
Viele Grüße, Tom Lambert - MVP, MCC und MSP
Wozu Antworten markieren und Posts bewerten? Klicke hier
Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 13. Januar 2017 08:09
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 27. Januar 2017 09:00
-
Hallo,
du hast recht, den Befehl propfull kann ich zwar entsprechend anpassen, jedoch muss ich dir bei der Nützlichkeit widersprechen.
Ich nutze Feld kapseln gerne in der Form, dass ich mir meine Felder anlege und sie dann gesammelt mit STRG+R+E in Properties überführe.
Dies ist mit propfull so nicht möglich und auch eine Gliederung in Felder und Eigenschaften ist so mit Mehraufwand verbunden.
Prinzipiell bin ich der Lösung schon recht nahe, wenn ich nur wüsste wie ich dem reimportierten Snippet ein Tastaturkürzel zuweisen könnte.
Gruß
5p1k3
-
Hallo,
mit dieser Arbeitsweise ist es natürlich ineffizienter. Da stimme ich dir zu.
Wenn man dann aber noch das Refactoring des Codes bedenkt, so glaube ich nicht, dass es noch mit einem einfachen Snippet getan wäre.
Das Zuweisen einer Tastatenkombination (sofern das irgendwie geht) dürfte da also bei weitem nicht ausreichen.
Viele Grüße, Tom Lambert - MVP, MCC und MSP
Wozu Antworten markieren und Posts bewerten? Klicke hier
Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub