Programmering

Gjennomgang: Visual Studio 2015 bryter ny vei

Visual Studio har alltid vært et stort produkt med en rekke funksjoner som vokste med hver utgivelse. Visual Studio 2015 utvider den trenden på måter jeg aldri forventet å se fra Microsoft.

Utvikling av mobilapp på tvers av plattformer? Merk av i boksen minst to ganger, en gang for Xamarin og en gang for Cordova, med ekstra kreditt for bærbar C ++ og integrasjon med Unity.

Servere på tvers av plattformer? Merk av i boksen minst tre ganger for .Net Core, ASP.Net og Entity Framework, og Python og Node.js.

Tverrplattform redigering og feilsøking? Ja. Visual Studio Code kjører på Mac OS X, Linux og Windows.

Styring av livssyklus på tvers av plattformer? Git og GitHub støttes, og Microsoft har utvidet Git-støtten i Team Foundation Server for å muliggjøre kontinuerlig integrering med de samme smarte innsjekkingsreglene som Team Foundation Server har for sitt versjonskontrollsystem.

Tverrplattformsbygg? Du har det. I tillegg til å jobbe med Visual Studio Build og MSBuild, kan Team Foundation Build bruke Ant, Gradle, Maven, Android Build, Gulp, Xcode og andre.

Selvfølgelig støtter Visual Studio fremdeles utvikling for, du vet, Windows, og inkluderer fremdeles alle de gamle teknologiene for Windows desktop-apper, fra konsollapper bygget i C ++ med Windows API-samtaler til Windows Presentation Foundation-apper i C # og XAML designet i Blend for Visual Studio 2015. Men definisjonen av Windows har utvidet seg for Windows 10, med universelle Windows Platform-apper. Disse applikasjonene er ment å fungere uendret på maskinvare som strekker seg fra telefoner til nettbrett til bærbare datamaskiner til stasjonære PC-er til Xbox-spillkonsoller til forstørrede reality-headset til Surface Hubs til servere til sky. Hvor godt den spesielle visjonen kommer til å rase ut, gjenstår å se.

Et lett alternativ på tvers av plattformer: Visual Studio Code

Visual Studio Code er en del av Visual Studio-økosystemet, men er ikke Visual Studio riktig. I stedet er det en gratis, plattformredaktør som kombinerer Atom Electron-skallet med åpen kildekode med en rekke Microsoft-teknologier. Jeg har brukt den på Mac OS X og Windows, og jeg liker den mye; den kjører også på Ubuntu Linux.

Hvorfor ikke bare bruke Atom? For TypeScript, JavaScript, C # og Visual Basic har Visual Studio Code overlegen språkstøtte. For de andre 30 ulike språkene som støttes, har Visual Studio Code paritet med Atom.

Hvorfor ikke bruke hele Visual Studio? Du kan, hvis du har en Windows-maskin eller virtuell maskin med nok hestekrefter, men Visual Studio Code er et mye lettere program som starter raskere og trenger langt mindre i veien for dataressurser.

Nytt i Visual Studio 2015

Som jeg nevnte i begynnelsen, inkluderer Visual Studio 2015 omfattende støtte for mobilutvikling på tvers av plattformer: Apache Cordova installasjon og integrering, Xamarin installasjon og integrering, bærbar C ++, en forbedret Android Emulator og Unity integrasjon.

Du kan bygge serverapplikasjoner på tvers av plattformer og distribuere dem til Windows- og Linux-servere, samt kjøre dem på Mac OS X-stasjonære og bærbare datamaskiner. Serverstøtte inkluderer ASP.Net 5, Python, Node.js og den nye open source .Net Core 5 for Windows, Linux og Mac OS X.

I Windows-utvikling er det den nye generasjonen av universelle apper, nye diagnostiske verktøy og nye designfunksjoner. På produktivitetsområdet er det bedre feilsøking, inkludert feilsøking av lambdas og å gjøre ytelsesovervåking og historisk feilsøking samtidig. I redaktøren driver Roslyns språkprosessorer en lyspære som dukker opp når og hvor det er et vanlig problem i koden, og tilbyr automatiske kodefiksinger og forbedret refactoring. I mellomtiden har Visual Studio 2015 mange programmeringsspråkoppdateringer, inkludert C #, Visual Basic, C ++ og TypeScript, sammen med utvidelser for Python og Node.js.

Visual Studio Online og Team Foundation Server 2015 har nå utvidbarhetskroker og integrering med Trello, Campfire og lignende. Den smidige planleggingsfunksjonen inkluderer kanbanbrett og svømmefelt. Du kan nå gjøre raske kodeendringer og forpliktelser rett i Visual Studio Online og Team Foundation Server. Før måtte du gå tilbake til Visual Studio eller et annet kodedigeringsverktøy.

Forstå Visual Studio 2015-utgavene

Mangfoldet av utgaver av Visual Studio 2015 er nok til å gi en anmelder en blendende hodepine. Kort sammendrag:

  • Fellesskapet er gratis. Denne utgaven skal tilfredsstille individuelle utviklere som ikke bygger forretningsapper.
  • Pro med MSDN er $ 1 199. Denne utgaven er bra for profesjonelle utviklere og team.
  • Enterprise med MSDN er $ 6119 (mye mindre enn Visual Studio Ultimate 2013). Dette er en “enterprise-grade-løsning med avanserte muligheter for team som jobber med prosjekter av alle størrelser eller kompleksitet, inkludert avansert testing og DevOps” - med andre ord, den har alle bjeller og fløyter.

De gratis ekspress-SKU-ene eksisterer fortsatt, men Microsoft foreslår at du bruker den gratis Community-utgaven, som gjør mer. Test Professional med MSDN eksisterer fortsatt, og du kan kjøpe en kopi av Visual Studio Team Foundation Server 2015.

Når vi snakker om andre kodedigeringsverktøy, er Visual Studio Code en gratis kryssplattform (Windows, Linux og Mac OS X) kodeditor bygget på open source Atom Electron shell, med dyp språkstøtte fra Roslyn og TypeScript-kompilatoren, som dekker mer i overkant av 30 programmeringsspråk på syntaksutheving og parentes-samsvaringsnivå, i tillegg til noen få på IntelliSense-nivå.

.Net Core 5 er en skyoptimalisert, plattform, åpen kildekode-implementering av .Net-plattformen som for øyeblikket støtter Linux, Windows og Mac OS X. Den kjører også inne i Docker-containere på Linux. .Net Core er en refaktorisert delmengde av .Net Framework, har både native og CLR (applikasjon VM) kjøretid, og støtter både Windows Store og ASP.Net-apper.

Universal Windows Platform-apper kjører ikke bare på et bredt spekter av maskinvare, de bruker rask. Net Native kjøretid. Du kan velge mellom språkene C #, Visual Basic, C ++ og JavaScript (inkludert Cordova) og konstruere brukergrensesnittet ditt i XAML, DirectX eller HTML. Du kan forhåndsvise XAML-design i Visual Studio på en rekke enhetsdimensjoner, fra en 5-tommers telefon til en 84-tommers Surface Hub. Du kan bruke enhetsspesifikke utvidelser i Universal-apper, så lenge du pakker disse utvidelsene i kode som sjekker for tilstedeværelsen av de aktuelle API-ene under kjøreturen. Mens du kan designe XAML i Visual Studio, er det foretrukne verktøyet for XAML-design den fornyede blandingen for Visual Studio 2015.

Oppdaterte programmeringsspråk

C # 6 og Visual Basic 14 tilbyr noen velkomne språkoppdateringer, inkludert navnet til uttrykk, nullbetingede operatører, avvente i å fange og endelig blokker, og uttrykksfylte funksjonsmedlemmer.

Standarder og bærbar kode markerer C ++ språkforbedringer, for eksempel samsvar med C ++ 11- og C ++ 14-standardene og inkluderingen av noen C ++ 17-funksjoner. C ++ - kompilatoren har nå raskere bygg og forbedringer av kodegenerering og sikkerhet. Jeg vet ikke om byggene nå er raske nok til å eliminere de utvidede "kompilerende" øktene som C ++ kodere ofte bruker til å brygge kaffe, besøke anleggene og spille bordtennis. Det kan ta lang tid å portere en stor kodebase til en ny C ++ - kompilatorversjon og utføre alle nødvendige regresjonstester.

F # 4.0 ble bygget i det fri av F # community-utviklere, hvorav omtrent en fjerdedel er tilknyttet Microsoft. Det er mange forbedringer i språket og verktøyene, men de mest åpenbare for meg er forbedret IntelliSense og feilsøking.

TypeScript 1.4 og TypeScript 1.5 (Beta) fortsetter å bygge nye funksjoner for å fungere med flere JavaScript-mønstre, lage rikere skrivinger og bruke nye ECMAScript 6-funksjoner.

Installerer Visual Studio 2015

Visual Studio-installasjon har blitt mer detaljert. Om dette betyr noe, avhenger av dine behov. Hvis du bare trenger et delsett med funksjoner, kan du ha det, samt øke installasjonen og redusere fotavtrykket. Hvis du uansett skal installere alt, kan du like godt gjøre det med en gang. Mens du kan legge til deler til en delvis installasjon på forespørsel, sier en variasjon på Murphys lov at enhver funksjon du ikke installerte i utgangspunktet vil være viktig på en tidskritisk måte, slik at den inkrementelle installasjonen kommer på det verste mulige tidspunktet.

Jeg ble positivt overrasket over å se Visual Studio ta seg av å installere alle avhengighetene med åpen kildekode, ned til basenivåer som å installere Android og Java SDK-er som trengs av Apache Cordova. Å installere disse manuelt kan være en øvelse i frustrasjon hvis du får feil ordre.

I både de delvise og komplette installasjonssakene fant jeg at Visual Studio 2015-installasjoner var mindre fulle av fare og frustrasjon enn tidligere versjoner - til Windows 10 SDK kom ut. Da jeg installerte Windows 10 SDK, oppdaget jeg at XAML Designer (en av de kulere nye funksjonene) feilet på et helt nytt tomt prosjekt. Jeg brukte omtrent en dag med Visual Studio-teamet på å feilsøke problemet. Når det er sagt, fungerte SDK bra i en annen installasjon, så det er ikke et utbredt problem. (Oppdatering: Det er nå en løsning; se delen "Bygg Windows Universal-apper" nedenfor.)

Python-verktøyene i Visual Studio 2015 støtter CPython, IronPython, PyPy, Anaconda og andre Python-kompilatorer, og de gir deg IntelliSense i redigeringsprogrammet og interaktiv feilsøking, inkludert blandet modus (Python / C ++) og feilsøking på tvers av OS.

Siden min gjennomgang av 7 JavaScript IDE-er, har Node.js-verktøyene for Visual Studio, nå i versjon 1.1 RC, lagt til støtte for Visual Studio 2015 (natch) og en ny Linux-basert Dockerfile-mal for å gjøre det lettere å få appen din opp og kjører i en Docker-container. Hvis du vil legge til Dockerfile-malen i et Node.js-prosjekt, høyreklikker du prosjektet ditt, velger Legg til nytt element og velger Dockerfile-malen.

Denne versjonen av NTVS forbedrer også Node.js IntelliSense, formatering, feilsøking, TypeScript, enhetstest og Npm-integrering. Med en ekstra nedlasting støtter NTVS 1.1 RC en ny IoT-utvidelse som kan distribuere Node.js-baserte universelle Windows-apper til Windows IoT Core-enheter som Raspberry Pi 2.

Koderedigering i Visual Studio 2015

For noen år siden hadde jeg en privat orientering fra den daværende GM i Visual Studio-teamet om planene for neste versjon av Visual Studio. Etter å ha løpt gjennom lysbildene spurte hun meg om hva jeg ellers ville foreslått, og jeg påpekte at den kronglete understrekningskonvensjonen for stavekontroll i sanntid i Word kunne brukes til syntakskontroll i sanntid i Visual Studio. Mye skribling fulgte; funksjonen dukket opp behørig i neste beta.

Så spurte hun meg, med et glimt i øyet, om jeg ville ha Clippy i Visual Studio. Jeg lo, sa jeg, “Ikke ennå. Kanskje ikke noen gang, med mindre forslagene det kom var veldig bra. ” (Clippy hadde et forferdelig rykte blant Word-brukere for å komme med dumme forslag på en irriterende måte.)

Tilsvarende av Clippy i Visual Studio 2015 er en lyspære, som vises når Visual Studio-redigereren mener at den ser et kodeproblem og har et forslag, og når du skriver “^.”. Lyspæren foreslår ikke bare rettelser til vanlige kodeproblemer, men også mulig kodefakturering. Refactoring-menyen er forsvunnet, og alle refactoring-operasjoner er flyttet til lyspæren. I balanse vil jeg si at lyspæren er en god ting.

Variabel omdøping forbedres betydelig i Visual Studio 2015; du kan faktisk se hva den skal gjøre før det skjer. Direkte kodeanalyse og automatisk korreksjon forbedres også sterkt. En del av magien er at analysen blir informert av spesifikk kodebevisst veiledning for Microsoft-plattformene og NuGet-pakkene du målretter mot.

Det virker som en liten endring, men du kan nå tilpasse, lagre og gjenopprette vinduoppsett for Visual Studio. Hvorfor betyr dette noe? Hvis du med jevne mellomrom bytter mellom datamaskiner med forskjellige skjermstørrelser, sparer du deg massevis av tid ved å bare trekke opp det optimerte oppsettet for skjermen du bruker for øyeblikket.

Visual Studio har nå berøringsstøtte: bla (trykke og dra på redigeringsflaten på de vanlige og forbedrede rullefeltene), klype for å zoome, velge en hel linje ved å trykke i redigeringsmarginen, velge ord ved å dobbeltklikke på dem , og holder nede for å påkalle redaktørens kontekstmeny. Hvis du har en utviklingsmaskin med berøringsskjerm - bør du hvis du utvikler for Windows 10 eller mobile enheter - du vil finne dette praktisk.

Og min personlige favorittgrensesnittforbedring: Ikke flere ALLE CAPS-menyer. God riddance.

Testing, feilsøking, diagnostikk og ytelsesovervåking

De av dere som alltid skriver perfekt kode ved første forsøk, kan flytte med, det er ingenting å se her. Resten av oss er ute etter en godbit: Visual Studio-feilsøking, som allerede var ganske bra, har blitt enda bedre.

Betingede bruddpunkter har eksistert lenge. Nå kan vi også spesifisere handlinger som skal utføres når et bruddpunkt treffes. Dette inkluderer breakpoints på autoimplementerte egenskaper, og bruk av lambda-uttrykk i breakpoint-handlinger, klokkeuttrykk og Umiddelbart-vinduet.

To nye verktøy - Live Visual Tree og Live Property Explorer - lar deg undersøke det visuelle treet til din Windows Presentation Foundation eller Windows Store-app. Ny diagnostikk tilgjengelig under feilsøking er hendelseslisten, verktøyet for minnebruk og grafikken for CPU-bruk. I mellomtiden, mens du kjører kode i feilsøkingsprogrammet, ganger Visual Studio det automatisk og forteller deg (estimert) forløpt og CPU-tid for koden. Før måtte du jobbe med ytelse etter at du hadde feilsøkt.

Når du ikke feilsøker, kan du bruke et nytt programtidslinjeverktøy til å spore systemressursforbruk over tid for Windows Presentation Foundation, Windows Store 8.1 og universelle Windows Platform XAML-apper. På samme måte lar nettverksdiagnostisk verktøy deg spore HTTP-nettverksoperasjoner for Windows Store-apper og universelle Windows-apper. Og hvis du utvikler DirectX-apper (ofte, men ikke alltid, spill), kan du nå se diagrammer for Frame Time, Frame Rate og GPU Utilization mens applikasjonene kjører live. Disse indikatorene vil gi deg et håndtak om GPU eller CPU kan være appens ytelsesflaskehals.

PoengkortEvne (30%) Opptreden (30%) Brukervennlighet (20%) Dokumentasjon (10%) Verdi (10%) Enkel utvikling (20%) Total poengsum
Visual Studio 20151098890 9.0
$config[zx-auto] not found$config[zx-overlay] not found