tisdag, november 11, 2008

Nyheter i Visual Studio 2010

Idag efter Keynote på TechEd blev jag lite nyfiken på att labba lite med Visual Studio 2010. Jason Zander visa på lite nyheter som jag tänkte kolla in. Så ikväll när jag kom till hotellrummet laddade jag in den CTP av Visual Studio 2010 som finns att ladda ner och här är lite grejer som jag hittade:



  • När man ska skapa ett nytt projekt i VS2008 så ligger alla templates för Visual Basic på den lite undanskymda platsen Other Languages. Nu har den flyttats upp och ligger bredvid C#. En liten förändring men ack så viktigt för att VB-utvecklarna ska känna sig lika viktiga.


  • Implicit Line Continuation. Jason visade lite vb-kod idag och visade då hur man kunde plocka bort Line Continuation-tecknet. När man läser på så visar det sig att man inte längre behöver använda sig av det för många, vanligen förekommande, fraser. Dvs det går inte alltid att ta bort det. Ett exempel när man inte längre behöver det är i LINQ. Så när man tidigare fick skriva:

    Dim procs = From p In Process.GetProcesses() _
    Where p.ProcessName.StartsWith("s") _
    Select p

    kan man nu helt enkelt ta bort de tecknet på varje rad.

    Dim procs = From p In Process.GetProcesses()
    Where p.ProcessName.StartsWith("s")
    Select p


  • VB får nu också en del som kom i C# 3.0 som Auto Implemented Properties och Collection Initializers.


  • Den stora nyheten i C# är ju så klart möjligheten att hantera dynamiska typer men mer om det en annan gång.


  • En nyhet i Visual Studio är att man kan generera klasser, metoder och properties direkt från kod. Det innebär att man först kan skapa ett unit test och där skapa en instans av ett objekt som inte finns (ännu). Sedan använda sig av den smart tag som dyker upp och väljer att generera den klassen. Man får då upp en dialogruta där man får välja i vilket projekt den ska skapas och vilken synlighet den ska ha. En bug här är dock att om man har sitt testprojekt och sin klass som testas i olika namespace så kommer det genererade klassen att hamna i fel namespace. För er som använder er av ReSharper så är det här så klart ingen nyhet ;-)


  • En annan nyhet i Visual Studio är de verktyg som finns för att lätta få en överblick över ett projekt. T ex finns det en funktion som kallas Architecture Explorer. Med hjälp av den får man en överblick över hela sitt projekt med alla referenser och kan använda det diagrammet för att navigera i sin lösning. Bilden nedan visar ett AssemblyDiagram. De olika pilarna visar på var det finns beroenden och bredare pilar betyder ett större beroende.







Jag tror att den här typen av diagram kommer att bli väldigt bra verktyg framöver just för att få en bättre överblick över ett projekt. Jag skulle kunna tänka mig att ladda in ett existerande projekt bara för att få ut ett sådant diagram för att t ex använda i en dokumentation.

6 kommentarer:

Patrik Löewndahl sa...

"När man ska skapa ett nytt projekt i VS2008 så ligger alla templates för Visual Basic på den lite undanskymda platsen Other Languages. Nu har den flyttats upp och ligger bredvid C#. En liten förändring men ack så viktigt för att VB-utvecklarna ska känna sig lika viktiga."

Not to rain on your parade men det här har med inställningar i VS att göra och har varit så länge. VB hamnar under "Other languages" när du valt C# Developer som inställning när du startat VS första gången. ;)

Är TechEd bra för övrigt?

Björn Eriksen sa...

Tjenare Patrik,

Inte alls något regn här inte! Det är bara kul när någon läser det jag skriver och kommentarer är man ju inte bortskämd med.

Det är kul det du säger för jag har aldrig tänkt på det.. men å andra sidan så väljer jag alltid C# Developer även om jag sitter på ett VB-uppdrag. Så för mig har VB alltid legat under Oter Languages.

Anonym sa...

Precis tillbaks från en dragning av VSTS 2010. Det jag framförallt gillade var möjligheter att skapa unit tester för UI (genom bland annat recording som skapar koden åt dig). Vidare är gathed checkin (samt buddy checkin) funktionallitet som man längtat efter! Build check utifrån framtagen arktitektur är hur bra som helst, ett riktigt bra verktyg och kontroll för att undvika spaghetti kod!

/Daniel J

Björn Eriksen sa...

Jag håller med Daniel, det är en hel del nyheter som är fokuserade på framförallt test och arkitektur som ser väldigt intressant ut i VS2010.

Magnus Härlin sa...

Tyvärr så är det inte en aktiv koppling så varje gång man gör kodändringar så får man generera om diagremmen för att dom ska stämma och man kan inte ändra i diagrammen och få det speglat i koden. Men det här är ett stort steg i rätt riktning. Vem vet, dom kanske får till det innan release annars kommer det väl med sp 1 :-)

Björn Eriksen sa...

Tjenare Magnus,

Man får nog väga in att det är en pre-beta release som vi har att leka med så en hel del kommer nog att ändras och förhoppningsvis förbättras innan release. Jag pratade med Brian Harry tidigare i veckan och han sträckte sig till att säga att en beta kommer under H1 2009 (inte direkt överaskande).

Jag har för övrigt en bild av dig på scen med Roy Osherove från TechEd. Ska se till att få den från min telefon och maila den till dig...