VS Code 1.51 udgivet med fastgjorte faneforbedringer og mere
Visual Studio Code er en populær app for udviklere. Det er en kodeeditor omdefineret og optimeret til at bygge og fejlfinde moderne web- og cloud-applikationer. VS Code kommer med en række udvidelser og hjælpere, der virkelig er tidsbesparende. Den er tilgængelig til alle større platforme, inklusive Windows, MacOS og Linux. Microsoft har i dag frigivet en ny version af appen, der bringer forbedringer til forskellige appfunktioner, herunder fastgjorte faner, GitHub-integration og meget mere.
VS-kode 1.51 er bemærkelsesværdig for følgende ændringer.
Bemærk: Du kan downloade appen fra dens officielle hjemmeside.
Arbejdsbord
Mere fremtrædende fastgjorte faner
Fastgjorte faner vil nu altid vise deres pin-ikon, selv når de er inaktive, for at gøre dem nemmere at identificere. Hvis en editor både er fastgjort og indeholder ikke-gemte ændringer, afspejler ikonet begge tilstande.
Udvidelsestræer bruger tilpasset hover
I stedet for at bruge det indbyggede værktøjstip i udvidelsestrævisninger, bruger vi nu en brugerdefineret hover, der er konsistent på tværs af platforme og passer bedre til den overordnede UX.
Installer en udvidelse uden at synkronisere
Du kan nu installere en udvidelse uden at synkronisere den, mens indstillingssynkronisering er aktiveret.
Tema: GitHub lys
Installer en udvidelse fra Explorer
VS Code understøtter nu installation af en udvidelse VSIX-fil fra Stifinder ved at højreklikke på en VSIX-fil og vælge Installer udvidelsen VSIX genvejsmenupunkt.
Indtast sløringskommando
En ny intern workbench.action.blur
kommandoen er nu tilgængelig, som fjerner fokus fra enhver fokuserbar input. Du kan tildele en tastaturgenvej til denne kommando i Indstillinger for tastaturgenveje.
Integreret terminal
Lokalt ekko
At foretage ændringer i terminalen kræver traditionelt, at information sendes til terminalprocessen, behandles og returneres til VS-koden for at blive påvirket. Dette kan være langsomt, når du arbejder på en dårlig eller fjern forbindelse til en SSH server eller Koderum.
Denne udgivelse tilføjer en "lokal ekko"-tilstand til terminalen, som forsøger at forudsige ændringer og markørbevægelser foretaget lokalt og vise dem i brugergrænsefladen uden at kræve en rundtur til serveren. Som standard vises forudsagte tegn som "nedtonede":
Der er to indstillinger, du kan bruge til at konfigurere dette:
-
terminal.integrated.localEchoLatencyThreshold
konfigurerer den detekterede forsinkelsestærskel i millisekunder, ved hvilken lokalt ekko aktiveres. Dette kan indstilles til0
at tænde for funktionen hele tiden, eller-1
for at deaktivere den. Standard til30
. -
terminal.integrated.localEchoStyle
konfigurerer stilen eller farven på det lokale tegn, som standardsvag
.
IntelliSense
Forslag, der kan ændres størrelse
Denne milepæl har vi lavet adskillige forbedringer til forslags-brugergrænsefladen. Først og fremmest kan den nu ændres. Træk i siderne eller hjørnerne for at ændre størrelsen på kontrolelementet.
Tema: GitHub lys, Skrifttype: FiraCode
Størrelsen på forslagslisten vil blive gemt og gendannet på tværs af sessioner. Størrelsen af detaljeruden gemmes kun pr. session, da denne størrelse har tendens til at være mere variabel. Også den editor.suggest.maxVisibleSuggestions
indstilling er blevet forældet.
Statuslinje for forslag
Forslagskontrollen kan nu også vise sin egen statuslinje nederst i vinduet. Aktiver det ved hjælp af editor.suggest.showStatusBar
indstilling. Det gør det nemmere at skifte detaljer og viser, om en færdiggørelse understøtter indsættelse, udskiftning eller begge dele.
Tema: GitHub lys, Skrifttype: FiraCode
I eksemplet ovenfor resulterer valg af "Indsæt" i Math.gulvloft
og valg af "Erstat" resulterer i Math.floor
.
Den nye editor.suggest.insertMode
indstilling giver dig mulighed for at konfigurere, om du foretrækker at indsætte eller udskifte. Når et forslag understøtter begge, vil din præference være standard.
Flyt markøren for at vælge forslag
Sidst, men ikke mindst, kan du nu flytte markøren, mens forslag vises. Du kan f.eks. udløse forslag i slutningen af et ord, flytte til venstre for at se flere forslag og derefter bruge Erstat til at overskrive ordet.
Tema: GitHub lys
Emmet
Brugerdefinerede uddrag i Emmet er tilbage. Derudover opdateres snippets nu automatisk, når du gemmer snippets-filen eller opdaterer emmet.extensionsPath
indstilling.
Kildekontrol
Kildekontrolindtastningsfeltet gemmer commit-meddelelseshistorikken
Dette henvender sig til en funktionsanmodning for at navigere i SCM commit historie. Trykke ↑ (Windows, Linux Op) og ↓ (Windows, Linux ned) for at vise henholdsvis den foregående og næste commit. Tryk på for at flytte direkte til den første og sidste position i indtastningsfeltet Alt i forbindelse med den tilsvarende piletast.
Git: Tag kommandoer i undermenuen
Tag-relaterede Git-kommandoer er blevet tilføjet til ... Git menu.
Git: Rebase kommando
En ny Git: Rebase gren... kommandoen er blevet tilføjet, som lader dig rebase en gren ved hjælp af brugergrænsefladen.
Git: Rekursiv klonekommando
Med Git: Klon (rekursiv) kommando, kan du nu rekursivt klone Git-depoter, inklusive dets indlejrede Git-undermoduler.
Tidslinje: Emoji-kortkodegengivelse
Vi gengiver nu emoji-kortkoder, som f.eks :smil:
, i tidslinjevisningen.
Sprog
Markdown smart select
Udvid og formindsk markering i Markdown-dokumenter ved hjælp af følgende nye kommandoer:
- Udvide: ⌃⇧⌘→ (Windows, Linux Skift+Alt+Højre)
- Krympe: ⌃⇧⌘← (Windows, Linux Skift+Alt+Venstre)
Udvælgelsen gælder for følgende og følger et traditionelt hierarkisk mønster:
- Overskrifter
- Lister
- Blok citater
- Indhegnede kodeblokke
- Html-kode blokke
- Afsnit
Tom klammeformateringsmulighed for JavaScript og TypeScript
Den nye javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
og typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
formateringskonfigurationsindstillingen kontrollerer, om der indsættes mellemrum mellem tomme klammeparenteser. Standardværdien for disse indstillinger er sand. For eksempel for JavaScript:
klasse Foo { doFoo() { } }
Indstilling "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
og formatering af koden resulterer i:
klasse Foo { doFoo() {} // Bemærk, at mellemrummet er blevet fjernet. }
Browser support
Download mapper (Edge, Chrome)
Udnyttelse af det nye Filsystemadgang API, VS-kode, der kører i en browser, kan nu tilbyde en downloadhandling for mapper fra File Explorer for at downloade alle filer og mapper til disken.
Bemærk: Dette kræver en nyere version af Microsoft Edge eller Google Chrome.
Åbn Workspace-meddelelse
Hvis du åbner en mappe, der indeholder .kode-arbejdsområde
filer på øverste niveau, vil du nu se en meddelelse, der beder dig om at åbne den. Dette var altid tilfældet i VS Code til desktop, og vil nu også fungere i browseren.
Undgå utilsigtet lukning
En ny indstilling window.confirmBeforeClose
blev tilføjet for at vise en bekræftelsesdialog, før du lukker eller forlader arbejdsbordet.
Mulige værdier er:
-
Kun tastatur
Bekræftelsen vises kun, når du bruger en nøglebinding til at lukke (f.eks. ⌘W (Windows, Linux Ctrl+W)). (Standard) -
altid
: Bekræftelsesdialogen vil altid blive vist, selvom du lukker fra en musebevægelse. -
aldrig
: Bekræftelsen vil aldrig blive vist.
Bemærk: Denne indstilling dækker muligvis ikke alle tilfælde. Browsere kan stadig beslutte at lukke en fane eller et vindue uden bekræftelse.
Bidrag til udvidelser
GitHub Pull-anmodninger og -problemer
Der arbejdes videre med GitHub Pull-anmodninger og -problemer udvidelse, som giver dig mulighed for at arbejde på, oprette og administrere pull-anmodninger og problemer.
For at lære om alle de nye funktioner og opdateringer, kan du se det fulde changelog for 0.22.0 frigivelse af udvidelsen.
Fjernudvikling
Der arbejdes videre med Fjernudviklingsudvidelser, som giver dig mulighed for at bruge en beholder, fjernmaskine eller Windows-undersystem til Linux (WSL) som et fuldt udstyret udviklingsmiljø.
Funktionshøjdepunkter i 1.51 inkluderer:
- Evne til at fortsætte/genoprette forbindelse til terminalsessioner.
- Forbedret port forwarding oplevelse.
Du kan lære om nye udvidelsesfunktioner og fejlrettelser i Udgivelsesnoter til fjernudvikling.
Forhåndsvisning af funktioner
Preview-funktioner er ikke klar til udgivelse, men er funktionelle nok til at bruge. Vi glæder os over din tidlige feedback, mens de er under udvikling.
Synkronisering af indstillinger
Synkronisering af indstillinger synkroniserer nu udvidelsers globale tilstand. Udvidelser skal give staten til at synkronisere ved hjælp af den nyligt indførte setKeysForSync API.
Husk proxy-legitimationsoplysninger
Vi er ved at revidere login-dialogen, der viser, hvornår en netværksforbindelse kræver godkendelse med en proxy. En ny indstilling, window.enableExperimentalProxyLoginDialog: true
, vil aktivere denne nye oplevelse, som vi planlægger at gøre til standard i en fremtidig udgivelse.
Tema: GitHub lys
Dialogen vises inde i VS-kodevinduet og tilbyder en måde at huske legitimationsoplysningerne på, så du ikke behøver at angive dem, hver gang du starter VS-kode. Legitimationsoplysninger vil blive gemt i OS-standardlegitimationslageret (nøglering på macOS, Windows Credential Manager på Windows og gnome nøglering på Linux).
Vi viser stadig kun denne dialogboks én gang pr. session, men vil muligvis tage denne beslutning op igen i fremtiden. Du vil se dialogen vises igen, hvis de legitimationsoplysninger, du valgte at blive husket, ikke er gyldige. Hvis du giver dem igen, kan du ændre dem.
Aktiver venligst denne mulighed, og lad os vide, hvis noget ikke fungerer som forventet gennem vores problem tracker.
TypeScript 4.1 beta-understøttelse
VS Code understøtter TypeScript 4.1 beta og natlige bygninger. 4.1-opdateringen bringer nogle nye TypeScript-sprogfunktioner, såsom understøttelse af rekursive betingede typer, samt værktøjsforbedringer. Et fokusområde har været tilføjelse af indledende støtte til @se
tags i JSDoc-kommentarer.
For at begynde at bruge TypeScript 4.1 natlige builds skal du blot installere TypeScript Nightly-udvidelse. Del venligst feedback og lad os vide, hvis du støder på fejl med TypeScript 4.1.
Forfattelse af udvidelser
Opdaterede udvidelseseksempler
Vi har opdateret nogle af vores udvidelsesprøver at inkludere VS-kode-standardstile, der er koblet til vores farvetema-tokens. Det betyder, at almindelige elementer (tekst, knapper, input) vil være temabare og matche standardstilene i produktet. Nedenfor er de udvidelser, der inkluderer dette:
- custom-editor-sample
- webview-eksempel
- webview-view-sample
Codicon farver i træer
Med færdiggørelsen af Temaikon
farve API, kan udvidelsesforfattere bruge temafarver på kodikoner i tilpassede trævisninger.
Synkroniser global tilstand
Udvidelser kan nu synkronisere deres globale tilstand ved at levere nøglerne, hvis værdier skal synkroniseres, når indstillingssynkronisering er aktiveret, ved hjælp af den nyligt introducerede setKeysForSync
API i global stat
minde.
/** * Indstil de nøgler, hvis værdier skal synkroniseres på tværs af enheder ved synkronisering af brugerdata * såsom konfiguration, udvidelser og souvenirs. * * Bemærk, at denne funktion definerer hele sættet af nøgler, hvis værdier er synkroniseret: * - kalder det med et tomt array stopper synkroniseringen for dette minde * - kalder det med en ikke-tomt array erstatter alle nøgler, hvis værdier er synkroniseret * * For et givet sæt nøgler skal denne funktion kun kaldes én gang, men det er ingen skade i * at kalde den gentagne gange. * * @param nøgler Sættet af nøgler, hvis værdier er synkroniseret. */ setKeysForSync (nøgler: streng[]): void;
Kommentar udvidelser kan nu kontrollere synligheden af svarknappen i en kommentartråd med en ny egenskab, Kommentartråd#kansvar
. Når den er indstillet til falsk
, vil brugerne ikke se svarknappen eller kommentarfeltet i kommentartråden.
Foreslåede udvidelses-API'er
Hver milepæl kommer med nye foreslåede API'er, og udvidelsesforfattere kan prøve dem. Som altid vil vi gerne have din feedback. Dette er, hvad du skal gøre for at prøve en foreslået API:
- Du skal bruge Insiders, fordi foreslåede API'er ændres ofte.
- Du skal have denne linje i
package.json
fil med din udvidelse:"enableProposedApi": sand
. - Kopiér den seneste version af
vscode.proposed.d.ts
fil til dit projekts kildeplacering.
Du kan ikke udgive en udvidelse, der bruger en foreslået API. Der kan være brydende ændringer i den næste udgivelse, og vi ønsker aldrig at bryde eksisterende udvidelser.
Udbydere af folderækker skifter begivenhed
Udbydere af foldeintervaller kan signalere til redaktøren, at foldeintervaller skal opdateres ved hjælp af onDidChangeFoldingRanges
begivenhed.
For flere detaljer og for at give feedback, brug venligst nummer #108929.
Password API'er
Som led i det fortsatte arbejde vedr Godkendelsesudbydere, har vi introduceret API til lagring og genfinding af følsomme oplysninger. Internt fungerer dette som en indpakning af keytar bibliotek, som VS Code bruger til at gemme hemmeligheder.
/** * Hent en adgangskode, der blev gemt med nøgle. Returnerer udefineret, hvis der * ikke er nogen adgangskode, der matcher denne nøgle. * @param nøgle Nøglen, som adgangskoden blev gemt under. */ eksportfunktion getPassword (nøgle: streng): Kan derefter bruges; /** * Gem en adgangskode under en given nøgle. * @param nøgle Nøglen til at gemme adgangskoden under * @param værdi Adgangskoden */ eksportfunktion setPassword (nøgle: streng, værdi: streng): Kan derefter bruges; /** * Fjern en adgangskode fra lageret. * @param nøgle Nøglen, som adgangskoden blev gemt under. */ eksportfunktion deletePassword (nøgle: streng): Kan derefter; /** * Udløses, når en adgangskode indstilles eller slettes. */ eksport const onDidChangePassword: Hændelse;
ingeniørarbejde
Gør VS Code Trusted Types kompatible
Vi har fortsat bestræbelserne på at gøre VS Code "Trusted Types" kompatibel. Målet er at forhindre DOM-baserede scriptsårbarheder på tværs af websteder. Du kan lære mere om betroede typer på web.dev Websted for Trusted Types og følg vores fremskridt i nummer #103699.