Visual Model For F# – Instalacja

Instalacja i uruchomienie

Wtyczkę do produktu Microsoft Visual Studio 2010 instaluje się przez dwukrotne kliknięcie na paczce z rozszerzeniem .VSIX, a następnie postępowanie zgodnie z instrukcjami. W przypadku tego projektu jest to plik o nazwie BielastyAdam.VisualModelForFSharp.DslPackage. Paczka wygląda tak jak na rysunku 1 poniżej.

Wtyczka VisualModelForFSharp dla Microsoft Visual Studio 2010

Rysunek 1: Wtyczka VisualModelForFSharp dla Microsoft Visual Studio 2010

Pakiet będzie rozpowszechniany przez stronę internetową Visual Studio Gallery. Będzie wtedy dostępny dla innych użytkowników przez Extension Manager, czyli wbudowane narzędzie do Microsoft Visual Studio 2010, dzięki któremu można instalować wtyczki. Alternatywnie plugin można udostępnić na dowolnej stronie internetowej. Użytkownicy muszą go wtedy ręcznie ściągnąć i zainstalować.

Do Extension Manager można wejść poprzez wybranie w menu narzędzi:
Tools->Extension Manager…

Okno Extension Manager jest przedstawione na rysunku 2 poniżej. Można w nim znaleźć zainstalowane wtyczki oraz zobaczyć ich statusy. Za pomocą Extension Manager można wyszukiwać inne wtyczki z Visual Studio Gallery w trybie online.

Okno Extension Manager

Rysunek 2: Okno Extension Manager

Jeśli znajduje się tam wtyczka Visual Model For F#, to znaczy, że instalacja przebiegła pomyślnie.

Aby skorzystać z funkcjonalności, którą oferuje ten dodatek, należy stworzyć nowy projekt F#. Jest to pokazane na rysunku 3. W tym celu klikamy na pasku narzędzi w następującej kolejności.
File->New->Project…

Pokaże się poniższe okno. Należy wybrać aplikację F#.

Okno z wyborem projektu F#

Rysunek 3: Okno z wyborem projektu F#

Kolejnym krokiem jest stworzenie projektu bliźniaczego do ostatniego. W tym celu trzeba wybrać odpowiednio główny korzeń w drzewie w oknie Solution Explorer. Należy kliknąć prawym przyciskiem myszy na tę gałąź
Add->New Project…

i najlepiej wybrać pusty projekt Empty Project, tak jak jest to przedstawione na rysunku 4 poniżej.

Okno z wyborem projektu C#

Rysunek 4: Okno z wyborem projektu C#

Koniecznością jest wybranie projektu C# lub VisualBasic, ponieważ dla tych projektów można tworzyć pliki Text Templates z rozszerzeniem .tt, dzięki którym można później generować kod źródłowy.

Nasza główna solucja powinna teraz wyglądać tak jak na rysunku 5. Mamy w niej projekt F# oraz wybrany projekt C#. W tym drugim będziemy tworzyli modele i transformowali pliki .tt do plików z kodem źródłowym.

Główna solucja w Visual Studio 2010

Rysunek 5: Główna solucja w Visual Studio 2010

Należy teraz dodać do projektu pliki, dzięki którym będzie można modelować programy funkcyjne i generować kod źródłowy. Pliki odpowiedzialne za te rzeczy dodają się automatycznie po wybraniu projektu
Add->New Item…

gdy klikniemy prawym przyciskiem na projekt C#. Trzeba tak zrobić, ponieważ w projektach C# jest dostępne transformowanie tekstu z plików o rozszerzeniu .tt.

W poniższym oknie (rys. 6) widać, że wśród dostępnych opcji mamy do wyboru Visual Model For F#. Należy wybrać tę pozycję, wpisać dowolną nazwę w polu Name, np. Model1.vmffs, i nacisnąć przycisk dodawania Add.

Okno z wyborem pliku modelu

Rysunek 6: Okno z wyborem pliku modelu

Po zrealizowaniu poprzednich kroków nasze drzewo solucji powinno wyglądać tak jak na rysunku 7 poniżej. Do projektu zostało dodanych kilka plików. Plik Model1.vmffs to najważniejszy plik, który możemy otworzyć za pomocą wizualnego edytora. Wystarczy kliknąć na niego dwa razy. Plik Model1.vmffs.diagram przechowuje tekstową postać modelu. Kolejnym plikiem jest Model1.tt, czyli plik do transformacji tekstowych. W nim umieszczony jest sposób generowania kodu źródłowego. Wynik przetransformowanego modelu jest widoczny jako plik Model1.fs, czyli jest to plik z kodem źródłowym w F#.

Uwaga: jeśli plik Model1.tt nie pojawi się automatycznie w drzewie z projektem, należy go stworzyć ręcznie. W tym celu należy kliknąć prawym przyciskiem myszy na nazwie projektu np. OurModelProject i wybrać nowy plik .tt (Text Template). Następnie należy go uzupełnić poniższym kodem:

<#@ output extension=".fs" #>
<#@ VisualModelForFSharp processor="VisualModelForFSharpDirectiveProcessor" requires="fileName='$fileinputname$.vmffs'" #>
<#@ template inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation" #>
//plugin: Visual Model For F#
//author: Adam Bielasty
//website: www.bielasty.pl

<#= this.RootModel.GenerateCode() #>

Listing 1: Szablon TT

W miejscu $fileinputname$.vmffs należy wstawić nazwę pliku zawierającego model np. Model1.vmffs.

Główna solucja po dodaniu pliku modelu

Rysunek 7: Główna solucja po dodaniu pliku modelu

Aby w pliku Model1.fs coś było widoczne, zawsze po skończeniu modelu należy kliknąć w przycisk Transform All Templates przedstawiony na rysunku 8 poniżej. Po tej akcji wszystkie pliki z rozszerzeniem .tt będą transformowane według ich definicji.

Przycisk do uruchomienia transformacji wszystkich plików z rozszerzeniem .tt

Rysunek 8: Przycisk do uruchomienia transformacji wszystkich plików z rozszerzeniem .tt

Na końcu możemy skopiować i wkleić wynik poniższej transformacji lub po prostu wkleić plik z rozszerzeniem .fs do projektu z aplikacją F#. W ten sposób możemy stworzyć wiele plików z kodem źródłowym F#, z których możemy korzystać w projekcie F#.

Na poniższym rysunku 9 przedstawione jest główne okno Microsoft Visual Studio 2010 podczas modelowania programu funkcyjnego. W lewej części znajduje się zestaw elementów możliwych do przeniesienia na główną przestrzeń, w której modeluje się program.

Główne okno VS 2010 podczas modelowania

Rysunek 9: Główne okno VS 2010 podczas modelowania

adamex

About Adam Bielasty

.NET Software Developer

Dodaj komentarz

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


× 5 = 40

Możesz użyć następujących tagów oraz atrybutów HTML-a:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>