Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałJozafat Skubis Został zmieniony 11 lat temu
1
Rozszerzanie Visual Studio.NET 2008 Wrocławska Grupa.NET Paweł Hofman Wrocławska Grupa.NET http://wroc.net.isvclub.com http://groups.google.pl/group/wroc-net?hl=pl Software Engineer Silicon & Software Systems (S3) www.s3group.com
2
Agenda Extensibility - O czym mowa ? Nowości w wersji 2008 Sposoby rozszerzania i dostosowywania Własny Add-in Własny pakiet (VS Package) Języki dziedzinowe - DSL Pytania
3
O czym mowa ? Visual Studio Extensibility zmiana wyglądu IDE własne edytory (lub zmiana istniejących) nowe języki programowania nowe rodzaje projektów szablony i kreatorzy (wizards) okna narzędziowe dostawców usług pliki pomocy
4
Co nowego w wersji 2008 nowy look-and-feel Visual Studio 2008 Isolated Shell jak.NET to tylko.NET przykłady dokumentacja wersja beta
5
Jak zacząć ? SDK do wersji 2008
6
Opcje rozszerzania VisualStudio dostosowanie IDE (Tools Customize) makra dodatki (add-in) pakiety (VS Packages) Wzrost: nakładu pracy możliwości (integracji) SDK
7
Opcje - szczegóły TypPlusyMinusy dostosowywanie bardzo proste zero możliwości kontroli IDE prócz wyglądu makra automatyzacja pełna kontrola IDE nie można dodać nowych funkcjonalności tylko język Basic jako kod źródłowy
8
Dostosowywanie i makra Demo
9
Opcje – szczegóły (2) TypPlusyMinusy dodatki (add-ins) kompilowalne DLL /.NET assembly szybkie umożliwia: - okna narzędziowe - polecenia menu - strony ustawień nie umożliwia: - dokumentów - projektów pakiety (VS Packages) to co dodatki podpis i wersja dostęp ten sam co drużyny piszące obsługę języków: C++ / C# w Microsofcie bardzo skomplikowany model wymaga znajomości COM praktycznie brak dokumentacji
10
Dodatek (add-in) Demo IDTExtensibility2 IDTCommandTarget - inicjacja - uruchomienie dodatku - status polecenia menu - wykonanie
11
Jak to działa ? plik.AddIn zapamiętanie odwołania do obiektu DTE (DTE2) wykonanie akcji po wywołaniu polecenia menu
12
Dodatkowe schemat XSD \ Common7\Packages\schemas Zawierają schematy XSD: walidację IntelliSense podczas pracy z dokumentami XML (lub podobnymi).
13
Strzępki kodu (CodeSnippets) \VC#\Snippets *.snippet technika kopiuj-wklej ? vs nowa funkcja lub klasa
14
Architektura pakietu Visual Studio (platforma) interfejsy COM (Native Interfaces) kod pośredniczący (Interop Assemblies) Własny pakiet w.NET Managed Package Framework (MPF) Własny pakiet w kodzie niezarządzanym C++
15
Jak to działa ? Wideo instruktażowe google + visual studio videos 2008 extensibility Experimental Hive " \Common7\IDE\devenv.exe" /RootSuffix Exp 9.0Exp Reset /SETUP /InstallVSTemplates HKLM vs HKCU = /RANU
16
Partner VSIP www.vsipmebers.com Affiliate (darmowy) Alliance (płatny) Premier (płatny) DLK, PLK i SLK Developer Licence Key Package Licence Key Shell Licence Key
17
Jak to działa ? (2).VSCT (VS 2008) kod źródłowy.CTC (VS 2005).CTO VS Package.NET PLKSNK.CTO ustawienia okna narzędziowe edytory
18
Pakiet (VS Package) Demo Package (IVsPackage, IServiceProvider) ToolWindowPane (IVsWindowPane) - inicjacja - uruchomienie pakietu (także opóźnione) - rejestracja i dostęp do usług - implementuje okno narzędziowe
19
Języki dziedzinowe - DSL dziedzina (encje) relacje Przykłady: SQL.VSCT...
20
DSL – Model języka diagram (encje) obiekty graficzne Definicja języka VS Projekt (.dsl,.tt) VS Exp (testy diagramu) Produkt
21
DSL – Model języka (2)
22
Projekt DSL (VS DSL Package) Demo DslDefinition.dsl DslPackage - opis modelu (pojęć dziedzinowych oraz kształtów) - walidacja - definicja dostępnych narzędzi - automatyczne generowanie pakietu VS dla zadanego modelu
23
Pytania ?
24
Źródła Filmy instruktarzowe: google + visual studio videos 2008 extensibility Kody źródłowe: www.codeplex.com www.codeproject.com Strona domowa: msdn.microsoft.com/vsx msdn.microsoft.com/vstudio/dsltools blogs.msdn.com/vsxteam/
25
Rozwinięcia skrótów CTC = Command Table Configuration DTE = Development Tools Environment MPF = Managed Package Framework TT = Text Templates VSCT = Visual Studio Command Table
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.