Snippet VisualStudio

Snippet

Przy pracy z kodem często piszemy te same bloki kodu, linijki, które zawsze wyglądają tak samo. Czy to kolejny using, czy może konstruktor, albo właściwość. Pisanie powtarzających się elementów kodu można z automatyzować wykorzystując snippety, czyli wstawki kodu, których użycie sprowadza się do wpisania skrótu i potwierdzenia dwa razy Tab-em. Visual Studio wspomaga nas jako programistów pewnym zestawem takich fragmentów kodu.

Pełen spis dostępnych snippetów możemy sprawdzić https://msdn.microsoft.com/en-gb/library/z41h7fat.aspx

Jednak snippety możemy modyfikować a nawet dodawać swoje własne. W Visual Studio 2017 do zarządzania snippetami możemy wykorzystać narzędzie Code Snippets Manager. Znajduje się on Tools > Code Snippets Manager i wygląda tak

 

 

 

Własny snippet

Snippet w zasadzie jest odpowiednio przygotowanym xml-em, który jest interpretowany przez VisualStudio. Najprostszym sposobem dodawania nowego snippet-a jest wykorzystanie dodatku do VS Snippet Designer . Wystarczy w nim zaznaczyć fragment kodu i go wyeksportować jako snippet. Niemniej jednak chciałbym zaproponować przygotowanie takiego snippetu od podstaw. A właściwie to nie od podstaw a z wykorzystaniem snippetu „Snippet”. Niestety, ażeby go dodać w pliku xml musimy wykorzystać menu kontekstowe > Snippet >Insert Snippet lub wykorzystać skrót klawiszowy Ctrl-K, Ctrl-X. Wcześniej dobrze jest usunąć z pliku nagłówek xml-owy, gdyż jest on w naszym snippecie, który generuje taką oto zawartość :

Przejdźmy teraz po poszczególnych elementach naszego snippetu.

Header

Zawiera podstawowe informacje na temat snippetu.

  • Title – nazwa naszego snippetu – tylko ten element jest wymagany
  • Author – autor snippetu
  • Schortcut – jakiego skrótu musimy użyć, ażeby dodać nasz snippet
  • Description – opis co daje nasz snippet.
  • SnippetTypes – jakiego typu jest nasz snippet, tutaj mamy do wyboru 2 możliwości – jeśli nie ma tego elementu snippet może być wykorzystany w obu poniższych przypadkach
    • SurrondsWith – gdzie snippet otacza zaznaczony fragment kodu
    • Expansion – gdzie snippet tworzy fragment kodu  niezależnego
Snippet

Zawiera właściwości (pola, kod czy referencje, a opcjonalne importy są dostępne dla projektów Visual Basic)

  • Declarations – element zawierający deklaracje pól, które będą uzupełniane lub wstawiane. Osobiście wykorzystywałem tylko deklaracje typu Literal  o strukturze:
    • ID – unikalny id elementu w kodzie.
    • Default – wartość domyślna dla danego id.
  • Code – to główny element naszego snippetu, gdzie w znaczniku <![CDATA[…..]]> znajduje się kod, w argumencie Language – podajemy jaki język jest obsługiwany

Zadeklarowane wartości można wykorzystać przy pomocy ich id otoczonych znakami dolara $ID$. Domyślne są 2 znaczniki:

  • $end$- informuje o tym, gdzie znajdzie się kursor po zakończonej edycji
  • $selected$ – określa, gdzie ma znajdować się zaznaczony kod, wokoło którego dodano nasz snippet.

Kod przykładowego snippeta z  Auto propercji z komentarzem

po dodaniu do kodu wygląda tak

Kod można znaleźć jak zwykle na GitHubie – https://github.com/Matejkos/BlogProjects/tree/master/CodeSnippets

Więcej o snippetach możemy przeczytać tu https://docs.microsoft.com/en-us/visualstudio/ide/walkthrough-creating-a-code-snippet

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *