Programmering

Anmeldelse: Visual Studio 2015 bryder ny grund

Visual Studio har altid været et stort produkt med en række funktioner, der voksede med hver udgivelse. Visual Studio 2015 udvider denne tendens på måder, jeg aldrig forventede at se fra Microsoft.

Udvikling af mobilapp på tværs af platforme? Marker dette felt mindst to gange, en gang for Xamarin og en gang for Cordova, med ekstra kredit for bærbar C ++ og integration med Unity.

Servere på tværs af platforme? Marker dette felt mindst tre gange for .Net Core, ASP.Net og Entity Framework og Python og Node.js.

Redigering og fejlretning på tværs af platforme? Ja. Visual Studio Code kører på Mac OS X, Linux og Windows.

Administration af livscyklus på tværs af platforme? Git og GitHub understøttes, og Microsoft har udvidet Git-supporten i Team Foundation Server til at muliggøre kontinuerlig integration med de samme slags smarte check-in-regler, som Team Foundation Server har til sit versionskontrolsystem.

Cross-platform bygger? Du har det. Ud over at arbejde med Visual Studio Build og MSBuild kan Team Foundation Build bruge Ant, Gradle, Maven, Android Build, Gulp, Xcode og andre.

Selvfølgelig understøtter Visual Studio stadig udvikling til, du ved, Windows og inkluderer stadig alle de gamle teknologier til Windows desktop-apps, fra konsolapps indbygget i C ++ med Windows API-opkald til Windows Presentation Foundation-apps i C # og XAML designet i Blend til Visual Studio 2015. Men definitionen af ​​Windows er udvidet til Windows 10 med universelle Windows Platform-apps. Disse applikationer er beregnet til at arbejde uændret på hardware, der spænder fra telefoner til tablets til bærbare computere til desktops til Xbox-spilkonsoller til augmented reality-headset til Surface Hubs til servere til cloud. Hvor godt den særlige vision vil ramme, er stadig uvist.

En let, platformoverskridende mulighed: Visual Studio Code

Visual Studio Code er en del af Visual Studio-økosystemet, men er ikke Visual Studio korrekt. I stedet er det en gratis editor på tværs af platforme, der kombinerer open source Atom Electron shell med en række Microsoft-teknologier. Jeg har brugt det på Mac OS X og Windows, og jeg kan godt lide det; det kører også på Ubuntu Linux.

Hvorfor ikke bare bruge Atom? For TypeScript, JavaScript, C # og Visual Basic har Visual Studio Code overlegen sprogstøtte. For de andre 30 ulige understøttede sprog har Visual Studio Code paritet med Atom.

Hvorfor ikke bruge det fulde Visual Studio? Du kan, hvis du har en Windows-maskine eller virtuel maskine med nok hestekræfter, men Visual Studio Code er et meget lettere program, der starter hurtigere og har brug for langt mindre i vejen for computerressourcer.

Nyt i Visual Studio 2015

Som jeg nævnte i starten, inkluderer Visual Studio 2015 omfattende support til mobiludvikling på tværs af platforme: Apache Cordova installation og integration, Xamarin installation og integration, bærbar C ++, en forbedret Android Emulator og Unity integration.

Du kan opbygge serverapplikationer på tværs af platforme og distribuere dem til Windows- og Linux-servere samt køre dem på Mac OS X-desktops og bærbare computere. Serverunderstøttelse inkluderer ASP.Net 5, Python, Node.js og den nye open source .Net Core 5 til Windows, Linux og Mac OS X.

I Windows-udvikling er der den nye generation af universelle apps, nye diagnostiske værktøjer og nye designfunktioner. Inden for produktivitet er der bedre fejlretning, herunder fejlretning af lambdas og udførelse af ydeevneovervågning og historisk fejlretning samtidigt. I redaktøren forsyner sprogprocessorerne i Roslyn en pære, der dukker op, når og hvor der er et almindeligt problem i koden, og tilbyder automatiske kodefiksninger og forbedret refactoring. I mellemtiden har Visual Studio 2015 mange programmeringssprogopdateringer, herunder C #, Visual Basic, C ++ og TypeScript sammen med udvidelser til Python og Node.js.

Visual Studio Online og Team Foundation Server 2015 har nu udvidelses kroge og integration med Trello, Campfire og lignende. Den agile planlægningsfunktion inkluderer Kanban-brædder og svømmebaner. Du kan nu udføre hurtige kodedigeringer og -forpligtelser lige i Visual Studio Online og Team Foundation Server. Du har tidligere været nødt til at gå tilbage til Visual Studio eller et andet kodedigeringsværktøj.

Forståelse af Visual Studio 2015-udgaver

De mange udgaver af Visual Studio 2015 er nok til at give en anmelder en blændende hovedpine. Den korte oversigt:

  • Fællesskabet er gratis. Denne udgave skal tilfredsstille individuelle udviklere, der ikke bygger forretningsapps.
  • Pro med MSDN er $ 1.199. Denne udgave er god for professionelle udviklere og teams.
  • Virksomhed med MSDN er $ 6119 (meget mindre end Visual Studio Ultimate 2013). Dette er en "enterprise-grade løsning med avancerede muligheder for teams, der arbejder på projekter af enhver størrelse eller kompleksitet, inklusive avanceret test og DevOps" - med andre ord, det har alle klokker og fløjter.

De gratis Express SKU'er findes stadig, men Microsoft foreslår at bruge den gratis Community-udgave, som gør mere. Test Professional med MSDN findes stadig, og du kan købe en kopi af Visual Studio Team Foundation Server 2015.

Når vi taler om andre kodedigeringsværktøjer, er Visual Studio Code en gratis cross-platform (Windows, Linux og Mac OS X) kodeditor bygget på open source Atom Electron shell, med dyb sprogstøtte fra Roslyn og TypeScript-kompilatoren, der dækker mere end 30 programmeringssprog på syntaksfremhævningen og parentes-matchningsniveau ud over nogle få på IntelliSense-niveau.

.Net Core 5 er en skyoptimeret, platform med open source-implementering af .Net-platformen, der i øjeblikket understøtter Linux, Windows og Mac OS X. Den kører også inde i Docker-containere på Linux. .Net Core er en refactored delmængde af .Net Framework, har både native og CLR (applikations VM) driftstider og understøtter både Windows Store og ASP.Net apps.

Universal Windows Platform-apps kører ikke kun på en bred vifte af hardware, de bruger den hurtige. Net Native runtime. Du kan vælge mellem sprogene C #, Visual Basic, C ++ og JavaScript (inklusive Cordova) og konstruere dit brugergrænseflade i XAML, DirectX eller HTML. Du kan få vist XAML-design i Visual Studio på en række enhedsdimensioner fra en 5-tommers telefon til en 84-tommer Surface Hub. Du kan bruge enhedsspecifikke udvidelser i Universal-apps, så længe du indpakker disse udvidelser i kode, der kontrollerer for tilstedeværelsen af ​​de relevante API'er under kørsel. Mens du kan designe XAML i Visual Studio, er det foretrukne værktøj til XAML-design den fornyede blanding til Visual Studio 2015.

Opdaterede programmeringssprog

C # 6 og Visual Basic 14 tilbyder et par velkomne sprogopdateringer, herunder navnet på udtryk, null-betingede operatorer, vente i fangst og langt om længe blokke og medlemmer med ekspressionsfunktion.

Standarder og bærbar kode markerer C ++ sprogforbedringer, såsom overensstemmelse med C ++ 11- og C ++ 14-standarderne og inkluderingen af ​​nogle C ++ 17-funktioner. C ++ - compileren har nu hurtigere builds og forbedringer af kodegenerering og sikkerhed. Jeg ved ikke, om builds nu er hurtige nok til at eliminere de udvidede "kompilering" -sessioner, som C ++ - kodere ofte bruger til at brygge kaffe, besøge faciliteterne og spille bordtennis. Det kan tage lang tid at porte en stor kodebase til en ny C ++ - compilerversion og udføre al den nødvendige regressionstest.

F # 4.0 blev bygget i det fri af F # community-udviklere, hvoraf ca. en fjerdedel er tilknyttet Microsoft. Der er mange forbedringer af sproget og værktøjerne, men de mest åbenlyse for mig er forbedret IntelliSense og debugging.

TypeScript 1.4 og TypeScript 1.5 (Beta) fortsætter med at opbygge nye funktioner til at arbejde med flere JavaScript-mønstre, oprette rigere typer og bruge nye ECMAScript 6-funktioner.

Installation af Visual Studio 2015

Visual Studio installation er blevet mere detaljeret. Om dette betyder noget afhænger af dine behov. Hvis du kun har brug for en delmængde af funktioner, kan du have, samt fremskynde din installation og reducere dens fodaftryk. Hvis du under alle omstændigheder skal installere alt, kan du lige så godt gøre det med det samme. Mens du kan tilføje stykker til en delvis installation efter behov, siger en variation på Murphys lov, at enhver funktion, du ikke installerede oprindeligt, vil være vigtig på en tidskritisk måde, så den inkrementelle installation vil komme på det værst mulige tidspunkt.

Jeg blev glædeligt overrasket over at se Visual Studio sørge for at installere alle open source-afhængigheder ned til baseniveauer som installation af Android- og Java SDK'er, der er nødvendige af Apache Cordova. Installation af disse manuelt kan være en øvelse i frustration, hvis du får forkert ordren.

I både de delvise og fulde installationssager fandt jeg, at Visual Studio 2015-installationer var mindre fyldte med fare og frustration end tidligere versioner - indtil Windows 10 SDK kom ud. Da jeg installerede Windows 10 SDK, opdagede jeg, at dens XAML-designer (en af ​​de køligere nye funktioner) gik ud på et helt nyt tomt projekt. Jeg tilbragte ca. en dag med Visual Studio-teamet til fejlfinding af problemet. Når det er sagt, fungerede SDK fint i en anden installation, så det er ikke et udbredt problem. (Opdatering: Der er nu en løsning; se afsnittet "Opbygning af Windows Universal apps" nedenfor.)

Python-værktøjerne i Visual Studio 2015 understøtter CPython, IronPython, PyPy, Anaconda og andre Python-compilere, og de giver dig IntelliSense i editoren og interaktiv fejlfinding, inklusive blandet tilstand (Python / C ++) og debugging på tværs af OS.

Siden min gennemgang af 7 JavaScript IDE'er har Node.js-værktøjerne til Visual Studio, nu i version 1.1 RC, tilføjet support til Visual Studio 2015 (natch) og en ny Linux-baseret Dockerfile-skabelon for at gøre det lettere at få din app op og kører i en Docker-container. For at tilføje Dockerfile-skabelonen til et Node.js-projekt skal du højreklikke på dit projekt, vælge Tilføj nyt element og vælge Dockerfile-skabelonen.

Denne version af NTVS forbedrer også Node.js IntelliSense, formatering, fejlfinding, TypeScript, enhedstestkørsel og Npm-integration. Med en ekstra download understøtter NTVS 1.1 RC en ny IoT-udvidelse, der kan distribuere Node.js-baserede universelle Windows-apps til Windows IoT Core-enheder såsom Raspberry Pi 2.

Kodedigering i Visual Studio 2015

For nogle år siden havde jeg en privat briefing fra Visual Studio-teamets daværende GM om planerne for den næste version af Visual Studio. Efter at have kørt igennem diasene spurgte hun mig, hvad jeg ellers ville foreslå, og jeg påpegede, at den snoet-understregede konvention for stavekontrol i realtid i Word kunne anvendes til syntaks-kontrol i realtid i Visual Studio. Der fulgte meget kridning; funktionen optrådte behørigt i den næste beta.

Så spurgte hun mig med et glimt i øjet, om jeg ville have Clippy i Visual Studio. Jeg griner og sagde: ”Ikke endnu. Måske ikke nogensinde, medmindre de fremsatte forslag var rigtig gode. ” (Clippy havde et frygteligt ry blandt Word-brugere for at komme med dumme forslag på en irriterende måde.)

Ækvivalenten med Clippy i Visual Studio 2015 er en pære, der vises, når Visual Studio-editoren mener, at den ser et kodeproblem og har et forslag, og når du skriver “^.”. Pæren foreslår ikke kun rettelser til almindelige kodeproblemer, men også mulig kodeomdannelse. Refactoring-menuen er forsvundet, og alle refactoring-operationer er flyttet til pæren. Alt i alt vil jeg sige, at pæren er en god ting.

Variabel omdøbning forbedres kraftigt i Visual Studio 2015; du kan faktisk se, hvad den skal gøre, før det sker. Live-kodeanalyse og automatisk korrektion forbedres også meget. En del af magien er, at analysen informeres ved hjælp af en specifik kodebevidst vejledning til de Microsoft-platforme og NuGet-pakker, du målretter mod.

Det ser ud som en lille ændring, men du kan nu tilpasse, gemme og gendanne vindueslayouter til Visual Studio. Hvorfor betyder dette noget? Hvis du regelmæssigt skifter mellem computere med forskellige skærmstørrelser, sparer du dig masser af tid ved blot at trække dit optimerede layout op til den skærm, du bruger i øjeblikket.

Visual Studio har nu berøringsunderstøttelse: rulning (tryk og træk på editorens overflade på de almindelige og forbedrede rullepaneler), knib-til-zoom, vælg en hel linje ved at trykke i editorens margen, vælg ord ved at dobbeltklikke på dem , og trykke og holde nede for at påkalde editorens kontekstmenu. Hvis du har en udviklingsmaskine med en berøringsskærm - hvis du udvikler til Windows 10 eller mobile enheder - skal du finde det praktisk.

Og min personlige foretrukne UI-forbedring: Ikke mere ALLE CAPS-menuer. God befrielse.

Test, fejlretning, diagnostik og overvågning af ydeevne

De af jer, der altid skriver perfekt kode ved første forsøg, kan flytte med, der er ikke noget at se her. Resten af ​​os er klar til en godbid: Visual Studio-fejlfinding, som allerede var ret god, er blevet endnu bedre.

Betingede brudpunkter har eksisteret i lang tid. Nu kan vi også specificere handlinger, der skal udføres, når et brudpunkt rammes. Dette inkluderer breakpoints på autoimplementerede egenskaber og brugen af ​​lambda-udtryk i breakpoint-handlinger, urudtryk og vinduet Umiddelbar.

To nye værktøjer - Live Visual Tree og Live Property Explorer - giver dig mulighed for at undersøge det visuelle træ i din kørende Windows Presentation Foundation eller Windows Store-app. Ny diagnostik, der er tilgængelig under fejlretning, er listen Begivenheder, hukommelsesbrugsværktøjet og grafikken til CPU-brug. I mellemtiden, når du kører kode i fejlfindingsprogrammet, tæller Visual Studio det automatisk og fortæller dig den (estimerede) forløbne og CPU-tid for koden. Du har tidligere været nødt til at arbejde på ydeevne, efter at du havde debugget.

Når du ikke fejler fejl, kan du bruge et nyt værktøj til applikationstidslinje til at spore systemressourceforbrug over tid til Windows Presentation Foundation, Windows Store 8.1 og universelle Windows Platform XAML-apps. Netværksdiagnosticeringsværktøjet giver dig ligeledes mulighed for at spore HTTP-netværkshandlinger til Windows Store-apps og Windows-universelle apps. Og hvis du udvikler DirectX-apps (ofte, men ikke altid, spil), kan du nu se diagrammer for Frame Time, Frame Rate og GPU Utilization, mens applikationerne kører live. Disse indikatorer giver dig et greb om, hvorvidt GPU eller CPU muligvis er din apps ydeevne flaskehals.

ScorecardEvne (30%) Ydeevne (30%) Brugervenlighed (20%) Dokumentation (10%) Værdi (10%) Nem udvikling (20%) Samlet score
Visual Studio 20151098890 9.0
$config[zx-auto] not found$config[zx-overlay] not found