ReSharper i Visual Studio 2022 64-bit

Dobre vijesti! Microsoft je najavio novu verziju Visual Studija 2022. I naravno, JetBrains će se pobrinuti da za njega bude dostupan ReSharper kako bi vam pomogao u pisanju boljeg koda. Microsoftova najava također otkriva da će Visual Studio biti 64-bitni. Rider IDE je 64-bitni od 2017. godine i sjajno je vidjeti da se i Visual Studio odlučio na to.

resharper, visual studio, jetbrains

Dobrodošli u 64-bitni klub! https://t.co/mzDfxd3tUf

    - JetBrains Rider (@JetBrainsRider) 19. travnja 2021.

Pogledajmo zašto su važne 64-bitne verzije i što vjerujemo da će to značiti za ReSharper.

Visual Studio postaje 64-bitni

Sve značajke ReSharpera - navigacija, dovršavanje koda, inspekcije, brzi popravci i refaktoriranje, jedinični testovi, izrada dijagrama, pretraživanja itd. – izvode se unutar Visual Studio procesa.

Budući da je Visual Studio 32-bitni proces, on može koristiti samo između 2,5GB i 4GB memorije. Ovaj memorijski prostor dijele datoteke vašeg projekta, .NET runtime, ReSharper i vlastite značajke Visual Studija što uključuje korisničko sučelje temeljeno na WPF-u, praćenje povijesti izmjena koda i sve druge instalirane priključke. I sâm Visual Studio je u nedavnim verzijama dodao dodatne memorijske zahtjeve, s novim projektnim formatom u stilu SDK-a koji zahtijeva podosta dodatne memorije.

Dakle, čak i ako imate čudovišni razvojni stroj sa 128 procesora, SSD diskovima i 1TB memorije, Visual Studio uvijek će koristiti tek ~4GB memorije. Kod većih rješenja memorija postane pretrpana, što znači da se sakupljač smeća treba češće aktivirati, stoga produktivnost pati. Frustrirajuće!

Možete reći da je cijeli tim u JetBrainsu bio zaista uzbuđen kad su pročitali da će Visual Studio 2022 postati 64-bitni proces. Kao što su rekli iz Microsofta:

    Visual Studio 2022 bit će 64-bitna aplikacija. Više neće biti ograničeno na ~4GB memorije u glavnom devenv.exe procesu. Pomoću 64-bitnog Visual Studija na Windowsima možete otvarati, uređivati, pokretati i loviti pogreške u čak i najvećim i najsloženijim rješenjima bez da vam ponestane memorije.

To su odlične vijesti! Nadamo se da ste uzbuđeni oko budućnosti Visual Studija i ReSharpera kao što smo i mi!

Što to znači za ReSharper?

Prijeđimo preko par pitanja koja možda imate u vezi novog Visual Studija 2022 i ReSharpera.

Hoće li ReSharper raditi s novim 64-bitnim Visual Studiom?

Da, hoće.

Još je veoma rano i u JetBrainsu s nestrpljenjem čekaju prvo preview izdanje Visual Studija 2022 da ga isprobaju. Već su obavili posao pripreme izgradnje, testiranja i pokretanja cjelokupnog ReSharper koda na 64-bitnoj arhitekturi kao dio Ridera. Žele čim prije započeti rad na integraciji ReSharpera s novim Visual Studiom te pripremiti ReSharper i druge proizvode.

Znači li to da više nema potrebe za izvanprocesnim ReSharperom?

Ne, ne znači.

Kada je ReSharper pušten u pogon kao 64-bitni proces za napajanje JetBrainsovog višeplatformskog IDE-a, Rider, primijećeno je da je bilo potrebno manje ciklusa sakupljanja smeća, što je rezultiralo boljim memorijskim protokom. S tim znanjem očekujemo da će 64-bitni proces značajno smanjiti pritisak na memoriju unutar IDE-a, što će automatski dovesti do toga da Visual Studio s ReSharperom bude učinkovitiji kod operacija kod kojih je memorija kritična.

Još uvijek ima mjesta za optimizaciju. Nastavlja se rad na izvanprocesnom ReSharperu. S Riderom smo vidjeli da pokretanje operacija zahtjevnih za memoriju i procesore u različitim procesima, i povezivanje tih procesa s asinkronim API-jem, dovodi do boljeg razvojnog iskustva. Na primjer, ReSharper proces mogao bi vršiti analizu na razini čitavog rješenja bez prekida Visual Studio procesa u kojem radite u editoru. Također, ne nadograđuju odmah svi JetBrains korisnici svoju verziju Visual Studija, pa će izvanprocesni ReSharper i njima biti od koristi.

Hoće li 64-bitni Visual Studio poboljšati performanse ReSharpera?

"Ovisi."

Bolji način da se to sagleda, kao što smo vidjeli kod Ridera, jest da prelazak na 64-bitni proces poboljšava protok, nedostatak memorije (poput fragmentacije heapa) čini rjeđim i rezultira ugodnijim doživljajem. Manje grabeži po memoriji znači manje sakupljanja smeća, što znači manje pauza za korisničko sučelje i druge zadatke. To može poboljšati ukupne performanse i responzivnost, no ne mora nužno ubrzati CPU-intenzivne zadatke.

Za CPU-intenzivne zadatke trebat ćemo pričekati prvu preview verziju Visual Studija 2022 kako bismo vidjeli što će se dogoditi. Uz to nastavljamo rad na izvanprocesnom ReSharperu kako bismo postigli više poboljšanja na ovom području.

Koje su najnovije vijesti o izvanprocesnom ReSharperu?

Ne želimo zvučati kao pokvarena ploča, ali radi se na tome.

Kao što ćete vidjeti u ReSharper out-of-process predmetu u sustavu za praćenje, neke stavke su na čekanju. To ne znači da se ništa ne radi - radi se na tome, a detalji su kako slijede.

Sa svakim izdanjem radi se na poboljšanju performansi ReSharpera. U najnovijoj verziji 2021.1 tako je:

  • Tipkanje u Razor datotekama u sklopu velikih rješenja učinjeno bržim
  • Ubrzano uređivanje u velikim datotekama u kojima rade ReSharperovi analizatori
  • Optimiziran način na koji ReSharper postupa s dijeljenim dokumentima tako da sada troši manje memorije
  • Implementirano poboljšanje performansi za jedinično testiranje JavaScripta i TypeScripta
  • Optimizirana struktura podataka u LevelDB-pogonjenim predmemorijama, smanjujući memorijski otisak ReSharpera.

Čuli smo pozitivne povratne informacije o ovim promjenama. Isprobajte, stoga, najnoviji ReSharper 2021.1.

Ima li kakvih detalja o izvanprocesnom ReSharperu?

Hajdemo sada detaljnije o originalnome pitanju: koje su najnovije vijesti o izvanprocesnom ReSharperu?

Postignut je velik napredak. ReSharperov interni način rada može pokrenuti pozadinski ReSharper proces i učitati rješenje. Može se uspješno učitati čitavo rješenje, djelomično rješenje iz .slnf datoteke te ručno istovariti projekte, a svim tim rukuje se izvan Visual Studio procesa.

Radi veći broj alatnih prozora i iz pozadinskog procesa možemo proširiti postojeće alatne prozore u Visual Studiju. Na primjer, ReSharper OOP može proširiti alatni prozor Properties s nekim svojstvima specifičnim za ReSharper, može ih se urediti ​u Visual Studiju i te izmjene teku natrag u pozadinski proces.

Mnoge akcije koje se ne oslanjaju na editor teksta spremne su za rad! Analiza čitavog rješenja radi u pozadini, ali još uvijek se ne mogu prikazivati pogreške u editoru teksta.

Kao što ste mogli zaključiti iz prethodnog odlomka, editor teksta još nije spreman za izvanprocesni rad. U ReSharperu, Visual Studio editor se u kodu apstrahira kao ITextControl. Za različite verzije Visual Studija postoje različite apstrakcije i sve se one integriraju s Visual Studio editorom,  trakom s greškama, unutarnjim marginama, isticanjem teksta itd. - i s ReSharper modelom koda.

Izgrađujući Rider naučili smo da izvanprocesni model najbolje funkcionira kada se koriste jednostavni tipovi podataka koje dijele frontend i backend. Pri uređivanju koda šalju se uokolo djelići teksta i delte. Isticanja se sastoje od raspona i identifikatora komponente za isticanje. Trenutni ITextControl je složeniji od toga.

Mora se refaktorizirati ITextControl i razdvojiti dijelove frontenda (Visual Studio) od backenda (ReSharper OOP). Da stvari budu interesantnije, ITextControl ovisi o IDocument-u, apstrakciji koja se koristi za manipulaciju teksta u editoru i za ažuriranje modela koda u pozadinskom procesu.

Refaktoriranje IDocument-a gotovo je dovršeno – unutarnje natuknice (inlay hints) posljednji su dio na kojem se tu radi. Kad to bude dovršeno, prijeći će se na ITextControl, a kada to bude dovršeno, moći će se prikazati editor s isticanjima teksta koja će dolaziti iz pozadinskog procesa. Nakon refaktoriranja apstrakcije editora trebat će testirati da dovršavanje koda i dalje radi na očekivan način te pristupiti ažuriranju preostalih radnji koje ovise o editoru.

Nadamo se da bi javno dostupan pretpregled trebao biti spreman prije kraja 2021. Kao i uvijek, obavijestit ćemo vas kad budemo imali što za podijeliti.


<

SV Group njeguje dugoročan, stabilan poslovni odnos sa svojim korisnicima,
partnerima te cjelokupnom društvenom zajednicom.

kontakt

Ako nastavite pregledavati ili kliknete "Prihvati sve kolačiće", pristajete na pohranjivanje kolačića prve i treće strane na uređaju kako biste poboljšali navigaciju na web-lokaciji, analizirali upotrebu web mjesta i pomagali u našim marketinškim naporima. Pročitajte
Politika kolačića | Politika privatnosti

Privacy Preference Center

Close