25
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)

Rozszerzanie Visual Studio .NET 2008

  • Upload
    sinead

  • View
    68

  • Download
    0

Embed Size (px)

DESCRIPTION

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. Agenda. Extensibility - O czym mowa ? - PowerPoint PPT Presentation

Citation preview

Page 1: Rozszerzanie Visual Studio .NET 2008

RozszerzanieVisual 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

Page 2: Rozszerzanie Visual Studio .NET 2008

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

Page 3: Rozszerzanie Visual Studio .NET 2008

O czym mowa ?

Visual Studio Extensibilityzmiana wyglądu IDEwłasne edytory (lub zmiana istniejących)nowe języki programowanianowe rodzaje projektówszablony i kreatorzy (wizards)okna narzędziowedostawców usługpliki pomocy

Page 4: Rozszerzanie Visual Studio .NET 2008

Co nowego w wersji 2008

nowy look-and-feel

Visual Studio 2008 Isolated Shell

jak .NET to tylko .NET

przykłady

dokumentacja

wersja beta

Page 5: Rozszerzanie Visual Studio .NET 2008

Jak zacząć ?

SDK do wersji 2008

Page 6: Rozszerzanie Visual Studio .NET 2008

Opcje rozszerzania VisualStudio

dostosowanie IDE(Tools Customize)

makra

dodatki (add-in)

pakiety (VS Packages)

Wzrost:

nakładu pracy

możliwości(integracji)

SDK

Page 7: Rozszerzanie Visual Studio .NET 2008

Opcje - szczegóły

Typ Plusy Minusy

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

Page 8: Rozszerzanie Visual Studio .NET 2008

Dostosowywanie i makra

Demo

Page 9: Rozszerzanie Visual Studio .NET 2008

Opcje – szczegóły (2)

Typ Plusy Minusy

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

Page 10: Rozszerzanie Visual Studio .NET 2008

Dodatek (add-in)

Demo

IDTExtensibility2

IDTCommandTarget

- inicjacja- uruchomienie dodatku

- status polecenia menu- wykonanie

Page 11: Rozszerzanie Visual Studio .NET 2008

Jak to działa ?

plik .AddIn

zapamiętanie odwołania do obiektu DTE (DTE2)

wykonanie akcji po wywołaniu polecenia menu

Page 12: Rozszerzanie Visual Studio .NET 2008

Dodatkowe schemat XSD

<Visual Studio Install Path>\Common7\Packages\schemas

Zawierają schematy XSD:

walidację

IntelliSense

podczas pracy z dokumentami XML (lub podobnymi).

Page 13: Rozszerzanie Visual Studio .NET 2008

Strzępki kodu (CodeSnippets)

<Visual Studio Install Path>\VC#\Snippets

*.snippet

technika kopiuj-wklej ?

vs

nowa funkcja lub klasa

Page 14: Rozszerzanie Visual Studio .NET 2008

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++

Page 15: Rozszerzanie Visual Studio .NET 2008

Jak to działa ?

Wideo instruktażowegoogle + „visual studio videos 2008 extensibility”

Experimental Hive"<VS Installation Path>\Common7\IDE\devenv.exe" /RootSuffix Exp 9.0Exp

Reset

/SETUP

/InstallVSTemplates

HKLM vs HKCU = /RANU

Page 16: Rozszerzanie Visual Studio .NET 2008

Partner VSIP

www.vsipmebers.comAffiliate (darmowy)

Alliance (płatny)

Premier (płatny)

DLK, PLK i SLKDeveloper Licence Key

Package Licence Key

Shell Licence Key

Page 17: Rozszerzanie Visual Studio .NET 2008

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

Page 18: Rozszerzanie Visual Studio .NET 2008

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

Page 19: Rozszerzanie Visual Studio .NET 2008

Języki dziedzinowe - DSL

dziedzina (encje)

relacje

Przykłady:SQL

.VSCT

...

Page 20: Rozszerzanie Visual Studio .NET 2008

DSL – Model języka

diagram (encje)

obiekty graficzneDefinicja

języka

VS Projekt(.dsl, .tt)

VS Exp(testy diagramu)

Produkt

Page 21: Rozszerzanie Visual Studio .NET 2008

DSL – Model języka (2)

Page 22: Rozszerzanie Visual Studio .NET 2008

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

Page 23: Rozszerzanie Visual Studio .NET 2008

Pytania

?

Page 25: Rozszerzanie Visual Studio .NET 2008

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