Wprowadzenie do języków specyficznych dla domeny
W tym temacie opisano podstawowe pojęcia dotyczące definiowania i używania języka specyficznego dla domeny (DSL) utworzonego za pomocą zestawu SDK modelowania dla programu Visual Studio.
Uwaga
Zestaw SDK przekształcania szablonu tekstu i zestaw SDK modelowania programu Visual Studio są instalowane automatycznie podczas instalowania określonych funkcji programu Visual Studio. Aby uzyskać więcej informacji, zobacz ten wpis w blogu.
Jeśli dopiero zaczynasz korzystać z listy DSL, zalecamy pracę z laboratorium DSL Tools Lab, które można znaleźć w tej witrynie: Wizualizacja i zestaw SDK modelowania
Co można zrobić za pomocą języka specyficznego dla domeny?
Język specyficzny dla domeny to notacja, zwykle graficzna, która jest przeznaczona do użycia w określonym celu. Natomiast języki takie jak UML są ogólnego przeznaczenia. W języku DSL można zdefiniować typy elementów modelu i ich relacje oraz sposób ich prezentowania na ekranie.
Po zaprojektowaniu rozszerzenia DSL można go dystrybuować w ramach pakietu rozszerzenia integracji programu Visual Studio (VSIX). Użytkownicy pracują z językiem DSL w programie Visual Studio:
Notacja jest tylko częścią DSL. Wraz z notacją pakiet VSIX zawiera narzędzia, które użytkownicy mogą zastosować, aby ułatwić im edytowanie i generowanie materiału na podstawie modeli.
Jedną z głównych aplikacji z listy DSL jest generowanie kodu programu, plików konfiguracji i innych artefaktów. Szczególnie w dużych projektach i liniach produktów, w których zostanie utworzonych kilka wariantów produktu, generowanie wielu zmiennych aspektów z listy DSL może zapewnić duży wzrost niezawodności i bardzo szybką reakcję na zmiany wymagań.
W pozostałej części tego przeglądu przedstawiono przewodnik wprowadzający podstawowe operacje tworzenia i używania języka specyficznego dla domeny w programie Visual Studio.
Wymagania wstępne
Aby zdefiniować rozszerzenie DSL, należy zainstalować następujące składniki:
Składnik | Link |
---|---|
Visual Studio | http://go.microsoft.com/fwlink/?LinkId=185579 |
Visual Studio SDK | https://go.microsoft.com/fwlink/?linkid=2166172 |
Zestaw SDK modelowania dla programu Visual Studio |
Uwaga
Składnik Przekształcanie szablonu tekstu jest automatycznie instalowany w ramach obciążenia programistycznego rozszerzenia programu Visual Studio. Można go również zainstalować na karcie Poszczególne składniki Instalator programu Visual Studio w kategorii Zestawy SDK, biblioteki i struktury. Zainstaluj składnik Zestawu SDK modelowania na karcie Poszczególne składniki.
Tworzenie rozwiązania DSL
Aby utworzyć nowy język specyficzny dla domeny, należy utworzyć nowe rozwiązanie programu Visual Studio przy użyciu szablonu projektu Języka specyficznego dla domeny.
W menu Plik wskaż polecenie Nowy, a następnie kliknij Projekt.
W obszarze Typy projektów rozwiń węzeł Inne typy projektów i kliknij pozycję Rozszerzalność.
Kliknij pozycję Projektant języka specyficznego dla domeny.
W polu Nazwa wpisz FamilyTree. Kliknij przycisk OK.
Zostanie otwarty Kreator języka specyficznego dla domeny i zostanie wyświetlona lista rozwiązań DSL szablonu.
Kliknij każdy szablon, aby wyświetlić opis.
Szablony są przydatnymi punktami początkowymi. Każdy z nich zapewnia pełne działające rozszerzenie DSL, które można edytować zgodnie z potrzebami. Zazwyczaj wybierasz szablon najbliższy, co chcesz utworzyć.
W tym przewodniku wybierz szablon Minimalny język .
Wprowadź rozszerzenie nazwy pliku dla rozszerzenia DSL na odpowiedniej stronie kreatora. Jest to rozszerzenie, które będzie używane przez pliki zawierające wystąpienia rozszerzenia DSL.
Wybierz rozszerzenie, które nie jest skojarzone z żadną aplikacją na komputerze lub na dowolnym komputerze, na którym chcesz zainstalować rozszerzenie DSL. Na przykład dokument i htm byłyby niedopuszczalne rozszerzenia nazw plików.
Kreator wyświetli ostrzeżenie, jeśli wprowadzone rozszerzenie jest używane jako rozszerzenie DSL. Rozważ użycie innego rozszerzenia nazwy pliku. Możesz również zresetować wystąpienie eksperymentalne zestawu VISUAL Studio SDK, aby wyczyścić starych projektantów eksperymentalnych. W menu Start systemu Windows wpisz resetuj program Visual Studio, a następnie uruchom polecenie Resetuj wystąpienie eksperymentalne programu Microsoft Visual Studio zgodne z wersją programu Visual Studio.
Sprawdź inne strony, a następnie kliknij przycisk Zakończ.
Zostanie wygenerowane rozwiązanie zawierające dwa projekty. Są one nazwane Dsl i DslPackage. Zostanie otwarty plik diagramu o nazwie DslDefinition.dsl.
Uwaga
Większość kodu widocznego w folderach w dwóch projektach jest generowana na podstawie pliku DslDefinition.dsl. Z tego powodu większość modyfikacji rozszerzenia DSL jest wprowadzana w tym pliku.
Interfejs użytkownika przypomina teraz poniższą ilustrację.
To rozwiązanie definiuje język specyficzny dla domeny. Aby uzyskać więcej informacji, zobacz Omówienie interfejsu użytkownika narzędzi językowych specyficznych dla domeny.
Ważne części rozwiązania DSL
Zwróć uwagę na następujące aspekty nowego rozwiązania:
Dsl\DslDefinition.dsl Jest to plik widoczny podczas tworzenia rozwiązania DSL. Prawie cały kod w rozwiązaniu jest generowany na podstawie tego pliku, a większość zmian wprowadzonych w definicji DSL jest tutaj wprowadzana. Aby uzyskać więcej informacji, zobacz Praca z diagramem definicji DSL.
Projekt Dsl Ten projekt zawiera kod, który definiuje język specyficzny dla domeny.
Projekt DslPackage Ten projekt zawiera kod, który umożliwia otwieranie i edytowanie wystąpień języka DSL w programie Visual Studio.
Uruchamianie rozszerzenia DSL
Możesz uruchomić rozwiązanie DSL zaraz po jego utworzeniu. Później możesz stopniowo modyfikować definicję DSL, uruchamiając rozwiązanie ponownie po każdej zmianie.
Aby eksperymentować z językiem DSL
Kliknij pozycję Przekształć wszystkie szablony na pasku narzędzi Eksplorator rozwiązań. Spowoduje to ponowne wygenerowanie większości kodu źródłowego z pliku DslDefinition.dsl.
Uwaga
Za każdym razem, gdy zmienisz plik DslDefinition.dsl, przed odbudową rozwiązania należy kliknąć pozycję Przekształć wszystkie szablony . Ten krok można zautomatyzować. Aby uzyskać więcej informacji, zobacz Jak zautomatyzować przekształcanie wszystkich szablonów.
Naciśnij F5 lub w menu Debuguj kliknij przycisk Rozpocznij debugowanie.
Rozszerzenie DSL kompiluje i jest instalowane w eksperymentalnym wystąpieniu programu Visual Studio.
Zostanie uruchomione eksperymentalne wystąpienie programu Visual Studio. Wystąpienie eksperymentalne pobiera ustawienia z oddzielnego poddrzewa rejestru, w którym rozszerzenia programu Visual Studio są rejestrowane do celów debugowania. Normalne wystąpienia programu Visual Studio nie mają tam dostępu do rozszerzeń.
W eksperymentalnym wystąpieniu programu Visual Studio otwórz plik modelu o nazwie Test z Eksplorator rozwiązań.
- lub -
Kliknij prawym przyciskiem myszy projekt Debugowanie, wskaż polecenie Dodaj, a następnie kliknij pozycję Element. W oknie dialogowym Dodawanie elementu wybierz typ pliku DSL.
Plik modelu zostanie otwarty jako pusty diagram.
Zostanie otwarty przybornik z wyświetlonymi narzędziami odpowiednimi dla typu diagramu.
Użyj narzędzi do tworzenia kształtów i łączników na diagramie.
Aby utworzyć kształty, przeciągnij z narzędzia Przykładowy kształt na diagram.
Aby połączyć dwa kształty, kliknij narzędzie Przykładowy łącznik, kliknij pierwszy kształt, a następnie kliknij drugi kształt.
Kliknij etykiety kształtów, aby je zmienić.
Eksperymentalny program Visual Studio będzie wyglądać podobnie do następującego przykładu:
Zawartość modelu
Zawartość pliku, który jest wystąpieniem DSL, jest nazywana modelem. Model zawiera elementy modelu i łącza między elementami. Definicja DSL określa, jakie typy elementów modelu i linki mogą istnieć w modelu. Na przykład w języku DSL utworzonym na podstawie szablonu Języka minimalnego istnieje jeden typ elementu modelu i jeden typ łącza.
Definicja DSL może określać sposób wyświetlania modelu na diagramie. Możesz wybrać spośród różnych stylów kształtów i łączników. Można określić, że niektóre kształty są wyświetlane wewnątrz innych kształtów.
Model można wyświetlić jako drzewo w widoku Eksploratora podczas edytowania modelu. Podczas dodawania kształtów do diagramu elementy modelu również są wyświetlane w eksploratorze. Eksplorator może być używany nawet wtedy, gdy nie ma diagramu.
Jeśli nie widzisz Eksploratora w wystąpieniu debugowania programu Visual Studio, w menu Widok wskaż pozycję Inny system Windows, a następnie kliknij pozycję <Eksplorator języka>.
Interfejs API dsl
Rozszerzenie DSL generuje interfejs API, który umożliwia odczytywanie i aktualizowanie modeli, które są wystąpieniami dsl. Jedną z aplikacji interfejsu API jest generowanie plików tekstowych na podstawie modelu. Aby uzyskać więcej informacji, zobacz Projektowanie generowania kodu w czasie projektowania przy użyciu szablonów tekstowych T4.
W rozwiązaniu Debugowanie otwórz pliki szablonu z rozszerzeniem ".tt". Te przykłady pokazują, jak można wygenerować tekst na podstawie modeli i umożliwić przetestowanie interfejsu API dsl. Jeden z przykładów jest napisany w Visual Basic, drugi w języku Visual C#.
W każdym pliku szablonu znajduje się plik, który generuje. Rozwiń plik szablonu w Eksplorator rozwiązań i otwórz wygenerowany plik.
Plik szablonu zawiera krótki segment kodu, który zawiera listę wszystkich elementów w modelu.
Wygenerowany plik zawiera wynik.
Po zmianie pliku modelu zobaczysz odpowiednie zmiany w wygenerowanych plikach po ponownej wygenerowaniu plików.
Aby ponownie wygenerować pliki tekstowe po zmianie pliku modelu
W eksperymentalnym wystąpieniu programu Visual Studio zapisz plik modelu.
Upewnij się, że parametr nazwy pliku w każdym pliku tt odwołuje się do pliku modelu używanego do eksperymentów. Zapisz plik tt.
Kliknij pozycję Przekształć wszystkie szablony na pasku narzędzi Eksplorator rozwiązań.
- lub -
Kliknij prawym przyciskiem myszy szablony, które chcesz ponownie wygenerować, a następnie kliknij polecenie Uruchom narzędzie niestandardowe.
Do projektu można dodać dowolną liczbę plików szablonów tekstowych. Każdy szablon generuje jeden plik wyników.
Uwaga
Po zmianie definicji DSL przykładowy kod szablonu tekstowego nie będzie działać, chyba że zostanie zaktualizowany.
Aby uzyskać więcej informacji, zobacz Generowanie kodu na podstawie języka specyficznego dla domeny i Pisanie kodu w celu dostosowania języka specyficznego dla domeny.
Dostosowywanie rozszerzenia DSL
Jeśli chcesz zmodyfikować definicję DSL, zamknij wystąpienie eksperymentalne i zaktualizuj definicję w głównym wystąpieniu programu Visual Studio.
Uwaga
Po zmodyfikowaniu definicji DSL możesz utracić informacje w modelach testowych utworzonych przy użyciu wcześniejszych wersji. Na przykład rozwiązanie do debugowania zawiera plik o nazwie Sample, który zawiera niektóre kształty i łączniki. Po rozpoczęciu opracowywania definicji DSL nie będą one widoczne i zostaną utracone podczas zapisywania pliku.
Możesz utworzyć szeroką gamę rozszerzeń dla rozszerzenia DSL. Poniższe przykłady dają wrażenie możliwości.
Po każdej zmianie zapisz definicję DSL, kliknij pozycję Przekształć wszystkie szablony w Eksplorator rozwiązań, a następnie naciśnij F5, aby eksperymentować ze zmienionym językiem DSL.
Zmienianie nazwy typów i narzędzi
Zmień nazwę istniejących klas domen i relacji. Na przykład, począwszy od definicji dsl utworzonej na podstawie szablonu języka minimalnego, można wykonać następujące operacje zmiany nazw, aby rozszerzenie DSL reprezentowało drzewa rodzinne.
Aby zmienić nazwy klas domen, relacji i narzędzi
Na diagramie DslDefinition zmień nazwę ExampleModel na FamilyTreeModel, ExampleElement na Person, Targets to Parents i Sources to Children (Model familyModel), ExampleElement (Osoba), Targets to Parents (Cele dla elementów nadrzędnych) i Sources to Children (Źródła). Możesz kliknąć każdą etykietę, aby ją zmienić.
Zmień nazwę narzędzi elementu i łącznika.
Otwórz okno Eksplorator DSL, klikając kartę w obszarze Eksplorator rozwiązań. Jeśli nie widzisz go, w menu Widok wskaż pozycję Inne okna , a następnie kliknij pozycję EKSPLORATOR DSL. Eksplorator DSL jest widoczny tylko wtedy, gdy diagram definicji DSL jest aktywnym oknem.
Otwórz okno Właściwości i umieść go, aby jednocześnie wyświetlić Eksplorator DSL i właściwości.
W Eksploratorze DSL rozwiń węzeł Edytor, karty przybornika, <twoje rozszerzenie DSL>, a następnie pozycję Narzędzia.
Kliknij pozycję ExampleElement. Jest to element przybornika używany do tworzenia elementów.
W okno Właściwości zmień właściwość Name na Person.
Zwróć uwagę, że właściwość Caption również się zmienia.
W ten sam sposób zmień nazwę narzędzia ExampleConnector na ParentLink. Zmień właściwość Caption, aby nie była kopią właściwości Name. Na przykład wprowadź link nadrzędny.
Ponownie skompiluj rozszerzenie DSL.
Zapisz plik definicji DSL.
Kliknij pozycję Przekształć wszystkie szablony na pasku narzędzi Eksplorator rozwiązań
Naciśnij klawisz F5. Poczekaj na wyświetlenie eksperymentalnego wystąpienia programu Visual Studio.
W rozwiązaniu Debugowanie w eksperymentalnym wystąpieniu programu Visual Studio otwórz plik modelu testowego. Przeciągnij elementy na nie z przybornika. Zwróć uwagę, że podpisy narzędzi i nazwy typów w Eksploratorze DSL uległy zmianie.
Zapisz plik modelu.
Otwórz plik tt i zastąp wystąpienia starego typu i nazw właściwości nowymi nazwami.
Upewnij się, że nazwa pliku określona w pliku tt określa model testowy.
Zapisz plik tt. Otwórz wygenerowany plik, aby zobaczyć wynik uruchomienia kodu w pliku tt. Sprawdź, czy jest to poprawne.
Dodawanie właściwości domeny do klas
Dodaj właściwości do klasy domeny, na przykład aby reprezentować lata urodzenia i śmierci osoby.
Aby uwidocznić nowe właściwości na diagramie, należy dodać dekoratory do kształtu, który wyświetla element modelu. Należy również zamapować właściwości na dekoratory.
Aby dodać właściwości i wyświetlić je
Dodaj właściwości.
Na diagramie definicji DSL kliknij prawym przyciskiem myszy klasę Domeny Person , wskaż polecenie Dodaj, a następnie kliknij pozycję Właściwość domeny.
Wpisz listę nowych nazw właściwości, takich jak Narodziny i Śmierć. Naciśnij Enter po każdym z nich.
Dodaj dekoratory, które będą wyświetlać właściwości w kształcie.
Postępuj zgodnie z szarą linią rozciągającą się od klasy Domeny Person do drugiej strony diagramu. Jest to mapa elementu diagramu. Łączy klasę domeny z klasą kształtu.
Kliknij prawym przyciskiem myszy tę klasę kształtu, wskaż polecenie Dodaj, a następnie kliknij pozycję Dekorator tekstu.
Dodaj dwa dekoratory z nazwami takimi jak BirthDecorator i DeathDecorator.
Wybierz każdy nowy dekorator, a w okno Właściwości ustaw pole Pozycja. Określa, gdzie wartość właściwości domeny będzie wyświetlana na kształcie. Na przykład ustaw wartość InnerBottomLeft i InnerBottomRight.
Zamapuj dekoratory na właściwości.
Otwórz okno Szczegóły DSL. Zazwyczaj znajduje się on na karcie obok okna Dane wyjściowe. Jeśli nie widzisz go, w menu Widok wskaż pozycję Inne okna, a następnie kliknij pozycję Szczegóły DSL.
Na diagramie definicji DSL kliknij wiersz, który łączy klasę domeny Person z klasą kształtu.
W obszarze Szczegóły DSL na karcie Mapy dekoratora kliknij pole wyboru na niezamapowanym dekoratorze. W obszarze Właściwość wyświetlania wybierz właściwość domeny, do której ma zostać zamapowana. Na przykład zamapuj element BirthDecorator na Wartość Urodzenia.
Zapisz rozszerzenie DSL, kliknij pozycję Przekształć wszystkie szablony i naciśnij F5.
Na przykładowym diagramie modelu sprawdź, czy możesz teraz kliknąć wybrane pozycje i wpisać do nich wartości. Ponadto po wybraniu kształtu Osoba okno Właściwości wyświetla nowe właściwości Narodziny i Śmierć.
W pliku tt można dodać kod, który uzyskuje właściwości każdej osoby.
Definiowanie nowych klas
Do modelu można dodawać klasy domen i relacje. Można na przykład utworzyć nową klasę reprezentującą miasta i nową relację reprezentującą, że osoba mieszkała w mieście.
Aby wyróżnić różne typy na diagramie modelu, można mapować klasy domeny na różne rodzaje kształtów lub na kształty o różnych geometrii i kolorach.
Aby dodać i wyświetlić nową klasę domeny
Dodaj klasę domeny i ustaw ją jako element podrzędny katalogu głównego modelu.
Na diagramie definicji DSL kliknij narzędzie Osadzanie relacji, kliknij klasę główną FamilyTreeModel, a następnie kliknij pustą część diagramu.
Zostanie wyświetlona nowa klasa domeny połączona z modelem FamilyTreeModel z relacją osadzania.
Ustaw jego nazwę, na przykład Town.
Uwaga
Każda klasa domeny z wyjątkiem katalogu głównego modelu musi być elementem docelowym co najmniej jednej relacji osadzania lub musi dziedziczyć z klasy, która jest celem osadzania. Z tego powodu często wygodne jest utworzenie klasy domeny przy użyciu narzędzia Osadzanie relacji.
Dodaj właściwość domeny do nowej klasy, na przykład Nazwa.
Dodaj relację referencyjną między osobą i miastem.
Kliknij narzędzie Relacja referencyjna, kliknij pozycję Osoba, a następnie kliknij pozycję Miasto.
Uwaga
Relacje odwołania reprezentują odwołania krzyżowe z jednej części drzewa modelu do innej.
Dodaj kształt reprezentujący miasta na diagramach modelu.
Przeciągnij kształt geometryczny z przybornika do diagramu i zmień jego nazwę, na przykład TownShape.
W okno Właściwości ustaw pola Wygląd nowego kształtu, takie jak Kolor wypełnienia i Geometria.
Dodaj dekorator, aby wyświetlić nazwę miasta i zmienić jego nazwę NameDecorator. Ustaw właściwość Position.
Mapuj klasę domeny Town na TownShape.
Kliknij narzędzie Mapa elementu diagramu, a następnie kliknij klasę domeny TownShape, a następnie klasę kształtów TownShape.
Na karcie Mapy dekoratora okna Szczegóły DSL z wybranym łącznikiem mapy zaznacz pole NameDecorator i ustaw właściwość wyświetlaną na Nazwa.
Utwórz łącznik, aby wyświetlić relację między osobami i miastami.
Przeciągnij łącznik z przybornika do diagramu. Zmień jego nazwę i ustaw jej właściwości wyglądu.
Użyj narzędzia Mapa elementu diagramu, aby połączyć nowy łącznik z relacją między osobą i miastem.
Utwórz narzędzie elementu do tworzenia nowego miasta.
W Eksploratorze DSL rozwiń węzeł Edytor , a następnie pozycję Karty przybornika.
Kliknij prawym przyciskiem myszy rozszerzenie DSL>, a następnie kliknij polecenie Dodaj nowy element Tool.<
Ustaw właściwość Name nowego narzędzia i ustaw jej właściwość Class na Town.
Ustaw właściwość Ikona przybornika. Kliknij pozycję [...] i w polu Nazwa pliku wybierz plik ikony.
Utwórz narzędzie łącznika do tworzenia połączenia między miastami i ludźmi.
Kliknij prawym przyciskiem myszy rozszerzenie <DSL>, a następnie kliknij polecenie Dodaj nowe narzędzie łącznika.
Ustaw właściwość Name nowego narzędzia.
We właściwości ConnectionBuilder wybierz konstruktora, który zawiera nazwę relacji Person-Town.
Ustaw ikonę przybornika.
Zapisz definicję DSL, kliknij pozycję Przekształć wszystkie szablony, a następnie naciśnij F5.
W eksperymentalnym wystąpieniu programu Visual Studio otwórz plik modelu testowego. Użyj nowych narzędzi, aby tworzyć miasta i powiązania między miastami i osobami. Zwróć uwagę, że można tworzyć tylko łącza między poprawnymi typami elementu.
Utwórz kod, w którym znajduje się miasto, w którym mieszka każda osoba. Szablony tekstu są jednym z miejsc, w których można uruchomić taki kod. Można na przykład zmodyfikować istniejący plik Sample.tt w rozwiązaniu Debugowanie, tak aby zawierał następujący kod:
<#@ template inherits="Microsoft.VisualStudio.TextTemplating.VSHost.ModelingTextTransformation" debug="true" #> <#@ output extension=".txt" #> <#@ FamilyTree processor="FamilyTreeDirectiveProcessor" requires="fileName='Sample.ftree'" #> <# foreach (Person person in this.FamilyTreeModel.People) { #> <#= person.Name #><#if (person.Town != null) {#> of <#= person.Town.Name #> <#}#> <# foreach (Person child in person.Children) { #> <#= child.Name #> <# } } #>
Po zapisaniu pliku *.tt zostanie utworzony plik zależny zawierający listę osób i ich rezydencji. Aby uzyskać więcej informacji, zobacz Generowanie kodu z języka specyficznego dla domeny.
Walidacja i polecenia
Możesz jeszcze bardziej rozwinąć ten język DSL, dodając ograniczenia walidacji. Te ograniczenia to metody, które można zdefiniować, aby upewnić się, że model jest w prawidłowym stanie. Można na przykład zdefiniować ograniczenie, aby upewnić się, że data urodzenia dziecka jest późniejsza niż data jej rodziców. Funkcja walidacji wyświetla ostrzeżenie, jeśli użytkownik DSL próbuje zapisać model, który przerywa dowolne ograniczenia. Aby uzyskać więcej informacji, zobacz Walidacja w języku specyficznym dla domeny.
Można również zdefiniować polecenia menu, które użytkownik może wywołać. Polecenia mogą modyfikować model. Mogą również wchodzić w interakcje z innymi modelami w programie Visual Studio i z zasobami zewnętrznymi. Aby uzyskać więcej informacji, zobacz How to: Modify a Standard Menu Command (Instrukcje: modyfikowanie standardowego polecenia menu).
Wdrażanie rozszerzenia DSL
Aby umożliwić innym użytkownikom korzystanie z języka specyficznego dla domeny, należy rozpowszechnić plik rozszerzenia programu Visual Studio (VSIX). Jest to tworzone podczas tworzenia rozwiązania DSL.
Znajdź plik vsix w folderze bin rozwiązania. Skopiuj go na komputer, na którym chcesz go zainstalować. Na tym komputerze kliknij dwukrotnie plik VSIX. Rozszerzenie DSL można używać we wszystkich wystąpieniach programu Visual Studio na tym komputerze.
Możesz użyć tej samej procedury, aby zainstalować rozszerzenie DSL na własnym komputerze, aby nie trzeba było używać eksperymentalnego wystąpienia programu Visual Studio.
Aby uzyskać więcej informacji, zobacz Wdrażanie rozwiązań językowych specyficznych dla domeny.
Usuwanie starych eksperymentalnych list DSL
Jeśli utworzono eksperymentalne listy DSL, które nie są już potrzebne, możesz je usunąć z komputera, resetując wystąpienie eksperymentalne programu Visual Studio.
Spowoduje to usunięcie z komputera wszystkich eksperymentalnych rozszerzeń DSL i innych eksperymentalnych rozszerzeń programu Visual Studio. Są to rozszerzenia, które zostały wykonane w trybie debugowania.
Ta procedura nie powoduje usunięcia list DSL ani innych rozszerzeń programu Visual Studio, które zostały w pełni zainstalowane przez wykonanie pliku VSIX.
Aby zresetować wystąpienie eksperymentalne programu Visual Studio
W menu Start systemu Windows wpisz resetuj program Visual Studio, a następnie uruchom polecenie Resetuj wystąpienie eksperymentalne programu Microsoft Visual Studio zgodne z wersją programu Visual Studio.
Ponownie skompiluj wszystkie eksperymentalne rozszerzenia DSL lub inne eksperymentalne rozszerzenia programu Visual Studio, których nadal chcesz użyć.