VS Code 1.51 objavljen s poboljšanjima prikvačenih kartica i još mnogo toga
Visual Studio Code je popularna aplikacija za programere. Riječ je o uređivaču koda koji je redefiniran i optimiziran za izgradnju i otklanjanje pogrešaka u modernim web i aplikacijama u oblaku. VS Code dolazi s raznim proširenjima i pomoćnicima koji stvarno štede vrijeme. Dostupan je za sve glavne platforme, uključujući Windows, MacOS i Linux. Microsoft je danas objavio novu verziju aplikacije koja donosi poboljšanja raznih značajki aplikacije, uključujući prikvačene kartice, GitHub integraciju i još mnogo toga.
VS Code 1.51 ističe se po sljedećim promjenama.
Napomena: Aplikaciju možete preuzeti s njezine službene web stranice.
Radni stol
Istaknutije prikvačene kartice
Prikvačene kartice sada će uvijek prikazivati svoju ikonu pribadače, čak i dok su neaktivne, kako bi ih lakše prepoznali. Ako je uređivač prikvačen i sadrži nespremljene promjene, ikona odražava oba stanja.
Stabla proširenja koriste prilagođeno lebdenje
Umjesto korištenja izvornog opisa alata u prikazima stabla proširenja, sada koristimo prilagođeni lebdeći pokazivač koji je dosljedan na više platformi i bolje se uklapa u cjelokupni UX.
Instalirajte proširenje bez sinkronizacije
Sada možete instalirati proširenje bez sinkronizacije dok je sinkronizacija postavki omogućena.
Tema: GitHub Light
Instalirajte proširenje iz Explorera
VS Code sada podržava instalaciju datoteke ekstenzije VSIX iz Explorera desnim klikom na VSIX datoteku i odabirom Instalirajte proširenje VSIX stavku kontekstnog izbornika.
Unesite naredbu za zamućenje
Nova interna radni stol.akcija.zamagljivanje
sada je dostupna naredba koja uklanja fokus s bilo kojeg fokusnog ulaza. Možete dodijeliti tipkovnički prečac za ovu naredbu u Postavke tipkovničkih prečaca.
Integrirani terminal
Lokalni odjek
Izmjena u terminalu tradicionalno zahtijeva slanje informacija u proces terminala, obradu i vraćanje u VS Code kako bi se na njih utjecalo. To može biti sporo kada radite na lošoj ili udaljenoj vezi na SSH poslužitelj ili Kodni prostor.
Ovo izdanje dodaje "lokalni echo" način na terminal, koji pokušava predvidjeti izmjene i pomake kursora napravljene lokalno i prikazati ih u korisničkom sučelju bez potrebe za povratnim putovanjem do poslužitelja. Prema zadanim postavkama, predviđeni znakovi prikazuju se kao "zatamnjeni":
Postoje dvije postavke koje možete koristiti za konfiguraciju:
-
terminal.integrated.localEchoLatencyThreshold
konfigurira otkriveni prag kašnjenja, u milisekundama, na kojem će se aktivirati lokalni eho. Ovo se može postaviti na0
za uključivanje ove značajke cijelo vrijeme, ili-1
da ga onemogućite. Zadano na30
. -
terminal.integrated.localEchoStyle
konfigurira stil ili boju lokalnog znaka, prema zadanim postavkamadim
.
IntelliSense
Prijedlozi koji se mogu promijeniti
Ovom prekretnicom napravili smo nekoliko poboljšanja korisničkog sučelja prijedloga. Prvo i najvažnije, sada se može mijenjati veličina. Povucite strane ili kutove da promijenite veličinu kontrole.
Tema: GitHub Light, Font: FiraCode
Veličina popisa prijedloga bit će spremljena i vraćena u svim sesijama. Veličina okna s detaljima sprema se samo po sesiji, budući da je ta veličina obično varijabilnija. Također, editor.suggest.maxVisibleSuggestions
postavka je zastarjela.
Statusna traka za prijedloge
Kontrola prijedloga sada također može prikazati vlastitu statusnu traku na dnu prozora. Omogućite ga pomoću editor.suggest.showStatusBar
postavljanje. To čini prebacivanje pojedinosti jednostavnijim i pokazuje podržava li završetak umetanje, zamjenu ili oboje.
Tema: GitHub Light, Font: FiraCode
U gornjem uzorku odabirom "Umetni" rezultira Matematika.podni strop
i odabirom "Zamijeni" rezultira Matematika.kat
.
Novi editor.suggest.insertMode
postavka vam omogućuje da konfigurirate želite li umetnuti ili zamijeniti. Kada prijedlog podržava oboje, vaša će postavka biti zadana.
Pomaknite pokazivač za odabir prijedloga
Na kraju, ali ne i najmanje važno, sada možete pomicati pokazivač dok se prikazuju prijedlozi. Na primjer, možete pokrenuti prijedloge na kraju riječi, pomaknuti se ulijevo da vidite više prijedloga, a zatim upotrijebite zamjenu da prepišete riječ.
Tema: GitHub Light
Mrav
Prilagođeni isječci u Emmetu su se vratili. Osim toga, isječci se sada automatski osvježavaju nakon spremanja datoteke isječaka ili ažuriranja datoteke emmet.extensionsPath
postavljanje.
Kontrola izvora
Okvir za unos Kontrole izvora sprema povijest poruka predaje
Ovo se odnosi na a zahtjev za značajkom za navigaciju SCM poviješću polaganja. Pritisnite ↑ (Windows, Linux gore) i ↓ (Windows, Linux dolje) za prikaz prethodnog i sljedećeg urezivanja, respektivno. Da biste se pomaknuli izravno na prvu i posljednju poziciju okvira za unos, pritisnite Alt u kombinaciji s odgovarajućom tipkom sa strelicom.
Git: Označite naredbe u podizborniku
Git naredbe povezane s oznakama dodane su u ... Git jelovnik.
Git: Rebase naredba
Novi Git: Rebase grana... dodana je naredba koja vam omogućuje ponovno postavljanje grane pomoću korisničkog sučelja.
Git: Rekurzivna naredba za kloniranje
Uz Git: klon (rekurzivno) naredbu, sada možete rekurzivno klonirati Git repozitorije, uključujući njegove ugniježđene Git podmodule.
Vremenska traka: renderiranje kratkog koda emojija
Sada prikazujemo kratke kodove za emoji, kao što su :osmijeh:
, u prikazu vremenske trake.
Jezici
Markdown pametni odabir
Proširite i smanjite odabir u Markdown dokumentima pomoću sljedećih novih naredbi:
- Proširiti: ⌃⇧⌘→ (Windows, Linux Shift+Alt+desno)
- Se smanjiti: ⌃⇧⌘← (Windows, Linux Shift+Alt+lijevo)
Odabir se odnosi na sljedeće i slijedi tradicionalni hijerarhijski obrazac:
- Zaglavlja
- Popisi
- Blok navodnika
- Ograđeni kodni blokovi
- Blokovi HTML koda
- Stavci
Opcija oblikovanja prazne zagrade za JavaScript i TypeScript
Novi javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBracces
i typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBracces
opcija konfiguracije formatiranja kontrolira jesu li razmaci umetnuti između praznih zagrada. Zadana vrijednost za ove postavke je istinita. Na primjer, za JavaScript:
klasa Foo { doFoo() { } }
Postavljanje "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBracces": false
a formatiranje koda rezultira:
class Foo { doFoo() {} // Primijetite da je razmak uklonjen. }
Podrška za preglednik
Preuzmi mape (Edge, Chrome)
Utjecaj na novo Pristup datotečnom sustavu API, VS Code koji radi u pregledniku sada može ponuditi akciju preuzimanja za mape iz File Explorera za preuzimanje svih datoteka i mapa na disk.
Bilješka: Za to je potrebna najnovija verzija Microsoft Edge ili Google Chrome.
Otvorite obavijest o radnom prostoru
Ako otvorite mapu koja sadrži .kod-radni prostor
datoteke na najvišoj razini, sada ćete vidjeti obavijest u kojoj se traži da je otvorite. To je uvijek bio slučaj u VS Code za desktop, a sada će raditi i u pregledniku.
Spriječite slučajno zatvaranje
Nova postavka prozor.confirmBeforeClose
je dodan za prikaz dijaloškog okvira za potvrdu prije zatvaranja ili napuštanja radnog stola.
Moguće vrijednosti su:
-
samo tipkovnica
Potvrda će se prikazati samo kada upotrijebite vezanje tipki za zatvaranje (na primjer, ⌘W (Windows, Linux Ctrl+W)). (zadano) -
stalno
: Dijaloški okvir za potvrdu uvijek će se prikazati, čak i ako zatvorite pokretom miša. -
nikada
: Potvrda se nikada neće prikazati.
Bilješka: Ova postavka možda neće pokrivati sve slučajeve. Preglednici i dalje mogu odlučiti zatvoriti karticu ili prozor bez potvrde.
Doprinosi proširenjima
Zahtjevi i problemi s GitHub-om
Radovi se nastavljaju na Zahtjevi i problemi s GitHub-om proširenje, koje vam omogućuje rad na zahtjevima i problemima za povlačenje, stvaranje i upravljanje njima.
Da biste saznali više o svim novim značajkama i ažuriranjima, možete vidjeti sve popis promjena za 0.22.0 oslobađanje ekstenzije.
Daljinski razvoj
Radovi se nastavljaju na Proširenja za daljinski razvoj, koji vam omogućuju korištenje kontejnera, udaljenog stroja ili Windows podsustav za Linux (WSL) kao potpuno opremljeno razvojno okruženje.
Istaknute značajke u 1.51 uključuju:
- Sposobnost ustrajavanja/ponovnog povezivanja na terminalske sesije.
- Poboljšano iskustvo prosljeđivanja portova.
O novim značajkama proširenja i ispravcima pogrešaka možete saznati u Bilješke o izdanju za daljinski razvoj.
Značajke pregleda
Značajke pregleda nisu spremne za izdavanje, ali su dovoljno funkcionalne za korištenje. Pozdravljamo vaše rane povratne informacije dok su u razvoju.
Sinkronizacija postavki
Sinkronizacija postavki sada sinkronizira globalno stanje proširenja. Proširenja će morati osigurati stanje za sinkronizaciju koristeći novo uvedeno setKeysForSync API.
Zapamtite proxy vjerodajnice
Prepravljamo dijaloški okvir za prijavu koji prikazuje kada mrežna veza zahtijeva provjeru autentičnosti s proxyjem. Nova postavka, window.enableExperimentalProxyLoginDialog: istina
, omogućit će ovo novo iskustvo koje planiramo učiniti zadanim u budućem izdanju.
Tema: GitHub Light
Dijalog će se pojaviti unutar prozora VS Code i nudi način da zapamtite vjerodajnice tako da ih ne morate pružati svaki put kada pokrenete VS Code. Vjerodajnice će biti pohranjene u standardnoj spremištu vjerodajnica OS-a (privjesak za ključeve na macOS-u, Windows Credential Manager na Windowsu i gnome privjesak za ključeve na Linuxu).
Još uvijek prikazujemo ovaj dijaloški okvir samo jednom po sesiji, ali bismo mogli ponovno razmotriti ovu odluku u budućnosti. Vidjet ćete da se dijaloški okvir ponovno pojavljuje u slučaju da vjerodajnice koje ste odabrali za pamćenje nisu valjane. Ponovno pružanje omogućuje vam da ih promijenite.
Omogućite ovu opciju i obavijestite nas ako nešto ne radi kako je očekivano putem našeg praćenje problema.
Podrška za TypeScript 4.1 beta
VS Code podržava TypeScript 4.1 beta i noćne gradnje. Ažuriranje 4.1 donosi neke nove značajke jezika TypeScript, kao što je podrška za rekurzivni uvjetni tipovi, kao i poboljšanja alata. Jedno fokusno područje je bilo dodavanje početne podrške za @vidjeti
oznake u JSDoc komentarima.
Da biste počeli koristiti TypeScript 4.1 noćne verzije, samo instalirajte TypeScript Nightly proširenje. Podijelite povratne informacije i javite nam ako naiđete na greške s TypeScript 4.1.
Izrada ekstenzija
Ažurirani uzorci proširenja
Ažurirali smo neke od naših ekstenzijski uzorci uključiti zadane stilove VS Codea koji su povezani s našim tokenima teme boja. To znači da će zajednički elementi (tekst, gumbi, ulazi) biti tematski i odgovarati zadanim stilovima u proizvodu. Ispod su proširenja koja uključuju ovo:
- prilagođeni-uređivač-uzorak
- webview-uzorak
- webview-view-sample
Boje kodikona u drveću
Završetkom izrade Ikona teme
API za boje, autori proširenja mogu koristiti boje teme na kodikonima u prilagođenim prikazima stabla.
Sinkroniziraj globalno stanje
Proširenja sada mogu sinkronizirati svoje globalno stanje davanjem ključeva čije bi vrijednosti trebale biti sinkronizirane kada je omogućena sinkronizacija postavki, koristeći novouvedenu setKeysForSync
API u globalState
uspomena.
/** * Postavite ključeve čije bi vrijednosti trebale biti sinkronizirane na različitim uređajima prilikom sinkronizacije korisničkih podataka * poput konfiguracije, proširenja i uspomena. * * Imajte na umu da ova funkcija definira cijeli skup ključeva čije su vrijednosti sinkronizirane: * - pozivanje s praznim nizom zaustavlja sinkronizaciju za ovaj memento * - pozivanje s neprazan niz zamjenjuje sve ključeve čije su vrijednosti sinkronizirane * * Za bilo koji zadani skup ključeva ovu funkciju treba pozvati samo jednom, ali nema štete ako je * više puta poziva. * * @param ključevi Skup ključeva čije su vrijednosti sinkronizirane. */ setKeysForSync (ključevi: string[]): void;
Komentar proširenja sada mogu kontrolirati vidljivost gumba za odgovor u niti komentara s novim svojstvom, CommentThread#canReply
. Kada je postavljeno na lažno
, korisnici neće vidjeti gumb za odgovor ili okvir za komentar u niti za komentare.
Predloženi API-ji proširenja
Svaka prekretnica dolazi s novim predloženim API-jima i autori proširenja ih mogu isprobati. Kao i uvijek, želimo vaše povratne informacije. Ovo morate učiniti da isprobate predloženi API:
- Morate koristiti Insiders jer se predloženi API-ji često mijenjaju.
- Morate imati ovu liniju u
paket.json
datoteka vaše ekstenzije:"enableProposedApi": istina
. - Kopirajte najnoviju verziju
vscode.proposed.d.ts
datoteku na izvornu lokaciju vašeg projekta.
Ne možete objaviti proširenje koje koristi predloženi API. U sljedećem izdanju može doći do nepredviđenih promjena i nikada ne želimo prekinuti postojeća proširenja.
Događaj mijenjanja dobavljača preklopnog raspona
Pružatelji preklopnih raspona mogu signalizirati uređivaču da se rasponi preklapanja moraju ažurirati pomoću onDidChangeFoldingRanges
događaj.
Za više pojedinosti i povratne informacije koristite broj 108929.
API-ji za lozinke
U sklopu nastavka rada na Davatelji provjere autentičnosti, uveli smo API za pohranjivanje i dohvaćanje osjetljivih informacija. Interno, ovo djeluje kao omotač keytar knjižnica koju VS Code koristi za pohranjivanje tajni.
/** * Dohvati lozinku koja je pohranjena s ključem. Vraća nedefinirano ako * ne postoji lozinka koja odgovara tom ključu. * @param ključ Ključ pod kojim je pohranjena lozinka. */ funkcija izvoza getPassword (ključ: string): Tada je moguće; /** * Pohrani lozinku pod zadanim ključem. * @param ključ Ključ za pohranu lozinke pod * @param vrijednost Lozinka */ eksport funkcija setPassword (ključ: string, vrijednost: string): Tada je moguće; /** * Uklonite lozinku iz memorije. * @param ključ Ključ pod kojim je pohranjena lozinka. */ funkcija izvoza deletePassword (ključ: string): Tada je moguće; /** * Pokreće se kada je lozinka postavljena ili obrisana. */ izvoz const onDidChangePassword: događaj;
Inženjering
Usklađivanje VS Code Trusted Types
Nastavili smo s naporima da učinimo VS Code "pouzdane vrste" usklađenim. Cilj je spriječiti ranjivosti skriptiranja na više web-mjesta temeljenih na DOM-u. Više o pouzdanim vrstama možete saznati na web.dev Stranica Trusted Types i pratite naš napredak broj 103699.