Expansion
Serwis znalezionych hasełOdnośniki
- Smutek to uczucie, jak gdyby się tonęło, jak gdyby grzebano cię w ziemi.
- DS1920 4EH <write data into 2 at addresses 2 and 3 (TH and bytes at addr...
- Rozdział 11 ZAKOŃCZENIE Żyjemy w zadziwiającym świecie...
- nęła za wąskim pasmem światła...
- --with-t1lib[=DIR] Dołącz obsługę T1lib...
- Lekko dotknęła palcami jego czoła...
- Often you will need to see if a string contains a group of characters...
- niespodziewanie zjawiała się stająca w poprzek prowadzonym staraniom burza, która niweczyła w istocie to, co rozum uznawał za doprowadzone do końca...
- Koestler A...
- dzi zamieszkujący Pragę (162,2 cm, 115 poborowych)...
- – Zabierzesz stąd te akta, zrobisz gdzieś kopie, roześlesz część do przyjaciół i znajomych rozrzuconych możliwie po całych Stanach, a resztę ukryjesz,...
Smutek to uczucie, jak gdyby się tonęło, jak gdyby grzebano cię w ziemi.
2. Bardziej wyczerpujący opis szablonów można znaleźć w systemie pomocy MSDN Visual Studio, w węźle Integrated Development Environment for Visual Studio/Reference/XML Schema References/Code Snippets Schema Reference.
Najważniejsze w pisaniu fragmentów kodu jest to, aby zrozumieć, jak działa zastępowanie litera-
łów i zmiennych. Załóżmy, że programista chce utworzyć fragment kodu języka C# wyświetlający 314
Rozdział 8. Korzystanie z narzędzi zwiększających produktywność Tabela 8.2. Opisy węzłów XML używanych w plikach z fragmentami kodu Węzeł XML
Opis
Element nadrzędny dla wszystkich informacji o fragmentach kodu. Określona jest w nim przestrzeń nazw języka XML służąca do definiowania fragmentów kodu w Visual Studio 2008.
Główny element danego fragmentu kodu. Ten znacznik określa informacje o formacie fragmentu (w przypadku pierwszego wydania Visual Studio 2008 powinna to być wersja 1.0.0). Choć w jednym elemencie
Kontener na metadane opisujące dany fragment kodu.
Tytuł fragmentu kodu.
Zwykle ta sama wartość, co w tytule. Tekst tego elementu pojawia się na liście rozwijanej z fragmentami kodu.
Opis fragmentu kodu.
Autor fragmentu kodu.
Element nadrzędny przechowujący elementy opisujące typ fragmentu kodu.
Typ fragmentu kodu: Expansion, Refactoring lub Surrounds With. Nie można tworzyć niestandardowych fragmentów. Ta właściwość informuje Visual Studio o tym, w którym miejscu okna edytora należy wstawić dany fragment kodu. Fragmenty typu Expansion są wstawiane tam, gdzie znajduje się kursor. Fragmenty Surrounds With środowisko wstawia przed i po kodzie określonym przez bieżącą pozycję kursora lub zaznaczenia.
Główny element zawierający kod fragmentu.
Główny element literałów i obiektów używanych przez fragment kodu.
Łańcuch znaków, którego wartość można określić w procesie dodawania fragmentu kodu. Atrybut Editable tego znacznika określa, czy literał jest statyczny, czy też można go modyfikować.
Fragment kodu ctor nie zawiera literałów, które można zmieniać. Warto porównać go z fragmentem służącym do ustawiania przezroczystości, który w czasie wstawiania umożliwia ustawienie nazwy formularza.
Niepowtarzalny identyfikator literału.
Podpowiedź wyświetlana w momencie umieszczenia kursora nad literałem.
Nazwa funkcji (opis w tabeli 8.3) wywoływanej w momencie, kiedy literał stanie się aktywny.
Funkcji można używać tylko we fragmentach kodu języka C#.
Domyślny literał wstawiany w edytorze.
Element zawierający wstawiany kod.
prosty komentarz. Ten komentarz ma informować, że klasa została oceniona i zaakceptowana w procesie analizy kodu. Inaczej mówiąc, fragment ma umożliwiać dodawanie komentarzy podobnych do poniższego:
315
Część III Tworzenie kodu i zarządzanie nim
// Analiza kodu ContextToken.
// Recenzent: Lars Powers
// Data: 1/1/2006
// Stan: Zatwierdzono
W tym fragmencie kodu cztery literały należy traktować jako zmienne. Mogą się one zmieniać za każdym razem, kiedy programista użyje tego fragmentu kodu. Są to: nazwa klasy, imię i nazwisko recenzenta, data oraz informacje o stanie. Można zadeklarować te elementy w sekcji Declarations:
Warto zwrócić uwagę, że powyższy kod wywołuje funkcję, która określa nazwę klasy we fragmencie kodu. Takie funkcje są dostępne jedynie w języku C# (a ich podzbiór — także w J#). Ich dokumentacja znajduje się w tabeli 8.3. W przypadku pozostałych literałów to programista musi podać w odpowiednich miejscach poprawne wartości.
Należy także udostępnić pewne podstawowe informacje nagłówkowe:
316
Rozdział 8. Korzystanie z narzędzi zwiększających produktywność Tabela 8.3. Funkcje dostępne we fragmentach kodu
Funkcja
Opis
GenerateSwitchCases( literalwyliczenia)
Tworzy składnię instrukcji switch obejmującą instrukcje
case dla wszystkich wartości zdefiniowanych w wyliczeniu
literalwyliczenia (C# i J#).
ClassName()
Wstawia nazwę klasy zawierającej dany fragment kodu
(C# i J#).
SimpleTypeName( nazwatypu)
Pobiera nazwę typu określonego za pomocą literału
nazwatypu i zwraca najkrótszą możliwą nazwę, uwzględniając
instrukcje using obowiązujące w bieżącym bloku kodu.
Na przykład wywołanie SimpleTypeName
´(System.Exception) zwróci Exception,
jeśli w pliku znajduje się instrukcja using System (C#).
CallBase( parametr)
Przydatna przy tworzeniu szkieletów składowych, które używają
typu bazowego lub zwracają go. Jeśli jako parametr podana
jest wartość get, set lub method, wywołany zostanie dany
akcesor lub metoda klasy bazowej (C#).
Teraz fragment kodu jest składniowo kompletny. Choć powyższy fragment dodaje komentarze, taki sam proces prowadzi do tworzenia fragmentów generujących kod, które mają taką samą strukturę. Jeśli programista chciałby napisać otaczający fragment kodu, powinien zmienić wartość elementu
Teraz trzeba poinformować o nowym fragmencie środowisko Visual Studio.
Dodawanie fragmentów kodu do środowiska Visual Studio