Code Snippets, czyli przydatne porcje kodu

Próbowałeś policzyć ile razy razy przy pracy nad projektem wstawiasz powtarzające się bloki kodu? I nie piszę tutaj o kodzie własnym, tylko instrukcjach języka, w którym właśnie programujesz. Pętle, bloki przechwytywania wyjątków, klasy itp. – czy nie łatwiej byłoby mieć je zawsze „pod ręką” i wstawiać prostymi skrótami?

Począwszy od wersji 2005 w Visual Studio wprowadzono ciekawą opcję nazwaną Code snippets.

Podczas pracy widziałem ja wielokrotnie, jednak sami wiecie jak to jest – nigdy nie ma czasu na odpowiednie poznanie środowiska, w którym się pracuje. Nauczony doświadczeniem z poprzedniej pracy staram się stosować wszędzie gdzie tylko mogę skróty klawiaturowe. Zaskoczeniem było dla mnie to, co oferuje Visual Studio – złożone skróty klawiaturowe, polegające na naciśnięciu i przytrzymanie klawisza funkcyjnego oraz dwóch klawiszy literowych.

Domyślne code snippets

menu code snippet

menu code snippet

Opcja insert snippet wybrana za pomocą skrótu

Opcja insert snippet wybrana za pomocą skrótu

Jak wywołać menu insert snippet? Mamy dwa sposoby – kliknięcie prawym klawiszem myszki w miejscu, w którym chcemy wstawić porcję kodu i wybranie opcji Insert Snippet. Druga możliwość, to użycie skrótu CTRL+K+X.

Wybierzmy pozycję try i dwuklik/enter. Wystarczy również zacząć wpisywanie danego zwrotu przy rozwiniętej liście – zostanie on automatycznie zaznaczony.
Efekt? Oszczędziliśmy kilkanaście niepotrzebnych klepnięć w klawiaturę ;-)

Code Snippet - wynik

Code Snippet - wynik

Co ciekawe, mechanizm od razu wypełnia niezbędne pola odpowiednim typem i ustawia kursor tak, by od razu można było wpisać nazwę zmiennej. Wpiszmy „exc” i naciśnijmy enter. Gotowe!

Polecam zapoznanie się z wszystkim opcjami dostępnymi domyślnie – jest ich naprawdę sporo i wystarczają do obsługi często powtarzających się czynności.

Definiowanie własnych code snippets
Jeśli nie wystarczą Ci domyślnie zdefiniowane porcje kodu, możesz zawsze dodać swoje. Na stronie MSDN znajdziesz wyczerpujący opis jak tego dokonać. Pokrótce przedstawię go poniżej.

Cała zabawa polega na stworzeniu pliku XML o odpowiedniej strukturze, zapisaniu go z rozszerzeniem .snippet i zaimportowaniu do VS. W zasobach Microsoft dostępne jest sprytne narzędzie do realizacji tego zadania – SnippDogg. Nie pozwala ono jednak definiować w jednym pliku więcej niż jednego snippeta. Może jednak służyć do łatwego zbudowania podstawowego pliku XML. Powinien on wyglądać następująco:

  Przykładowy plik XML do custom code snippet (757 bytes, 633 hits)

[code lang="xml"]
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>nazwa snippeta - tak pojawi się na liście</Title>
<Shortcut />
<Description />
<HelpUrl />
<Author />
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
<Keywords />
</Header>
<Snippet>
<References />
<Imports />
<Declarations />
<Code Language="csharp" Kind="any" Delimiter="$">
<![CDATA[kod, który zostanie wklejony]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
[/code]

Oczywiście w jednym pliku może być wiele wpisów (snippetów), wystarczy powielić cały blok CodeSnippet.

Co jest istotne? Snippet to nie tylko suchy, statyczny kod. Możliwe jest tworzenie snippetów zawierających:

  • automatyczny import, dodawanie referencji – zobacz
  • bloki podlegające zamianie (replacements) po stworzeniu – zobacz
Code Snippet Manager

Code Snippet Manager

Code Snippet Manager

Code Snippet Manager

Code Snippet Manager

Code Snippet Manager

Po stworzeniu odpowiedniego pliku XML z rozszerzeniem .snippet wywołujemy okno Code Snippet Manager (CTRL+K+B lub Tools -> Code Snippet Manager). Wybieramy opcję Import z głównego okna, wskazujemy nasz plik na dysku, wybieramy odpowiednią sekcję do której ma się zaimportować porcja kodu i… gotowe!

Efekt?

Dodane własne kawałki kodu

Dodane własne kawałki kodu

  Przykładowy plik XML do custom code snippet (757 bytes, 633 hits)


  Zarządzanie Code Snippet (2,0 MiB, 626 hits)


Nie znaleziono podobnych wpisów.

Możesz śledzić odpowiedzi do tego wpisu za pomocą RSS 2.0 feed. Możesz leave a response, or trackback z Twojej własne strony.

1 Komentarz »

 
 

Dodaj komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*