VS-kode 1.51 utgitt med forbedringer med festede faner og mer
Visual Studio Code er en populær app for utviklere. Det er en koderedigerer omdefinert og optimalisert for å bygge og feilsøke moderne nett- og skyapplikasjoner. VS Code kommer med en rekke utvidelser og hjelpere som virkelig er tidsbesparende. Den er tilgjengelig for alle større plattformer, inkludert Windows, MacOS og Linux. Microsoft har i dag gitt ut en ny versjon av appen som gir forbedringer til ulike appfunksjoner, inkludert festede faner, GitHub-integrasjon og mye mer.
VS-kode 1.51 er kjent for følgende endringer.
Merk: Du kan laste ned appen fra den offisielle nettsiden.
arbeidsbenk
Mer fremtredende festede faner
Festede faner vil nå alltid vise pin-ikonet deres, selv når de er inaktive, for å gjøre dem lettere å identifisere. Hvis en editor både er festet og inneholder ulagrede endringer, gjenspeiler ikonet begge tilstandene.
Forlengelsestre bruker tilpasset svevepeker
I stedet for å bruke det opprinnelige verktøytipset i utvidelsestrevisninger, bruker vi nå en tilpasset svevepeker som er konsistent på tvers av plattformer og passer bedre med den generelle brukeropplevelsen.
Installer en utvidelse uten å synkronisere
Du kan nå installere en utvidelse uten å synkronisere den mens innstillingssynkronisering er aktivert.
Tema: GitHub Light
Installer en utvidelse fra Explorer
VS-kode støtter nå installasjon av en utvidelse VSIX-fil fra Utforskeren ved å høyreklikke på en VSIX-fil og velge Installer utvidelsen VSIX kontekstmenyelement.
Input blur kommando
En ny intern workbench.action.blur
kommandoen er nå tilgjengelig, som fjerner fokus fra alle fokuserbare innganger. Du kan tilordne en hurtigtast for denne kommandoen i Innstillinger for tastatursnarveier.
Integrert terminal
Lokalt ekko
Å gjøre endringer i terminalen krever tradisjonelt at informasjon sendes til terminalprosessen, behandles og returneres til VS Code for å bli påvirket. Dette kan være tregt når du jobber med en dårlig eller fjern tilkobling til en SSH server eller Koderom.
Denne utgivelsen legger til en "lokal ekko"-modus til terminalen, som prøver å forutsi endringer og markørbevegelser som er gjort lokalt og vise dem i brukergrensesnittet uten å kreve en rundtur til serveren. Som standard vises predikerte tegn som "nedtonet":
Det er to innstillinger du kan bruke for å konfigurere dette:
-
terminal.integrated.localEchoLatencyThreshold
konfigurerer terskelen for oppdaget forsinkelse, i millisekunder, der lokalt ekko vil aktiveres. Dette kan settes til0
for å slå på funksjonen hele tiden, eller-1
for å deaktivere den. Standard til30
. -
terminal.integrated.localEchoStyle
konfigurerer stilen eller fargen på lokalt tegn, som standarddimme
.
IntelliSense
Forslag som kan endre størrelse
Denne milepælen har vi gjort flere forbedringer i forslagsgrensesnittet. Først og fremst kan den nå endres størrelse. Dra sidene eller hjørnene for å endre størrelsen på kontrollen.
Tema: GitHub Light, Font: FiraCode
Størrelsen på forslagslisten vil bli lagret og gjenopprettet på tvers av økter. Størrelsen på detaljruten lagres kun per økt, siden denne størrelsen har en tendens til å være mer variabel. Også editor.suggest.maxVisibleSuggestions
innstillingen er blitt foreldet.
Statuslinje for forslag
Forslagskontrollen kan nå også vise sin egen statuslinje nederst i vinduet. Aktiver den ved å bruke editor.suggest.showStatusBar
omgivelser. Det gjør det enklere å bytte detaljer, og viser om en fullføring støtter innsetting, erstatning eller begge deler.
Tema: GitHub Light, Font: FiraCode
I eksemplet ovenfor resulterer valg av "Sett inn". Math.gulvtak
og velge "Erstatt" resulterer i Math.floor
.
Den nye editor.suggest.insertMode
innstillingen lar deg konfigurere om du foretrekker å sette inn eller erstatte. Når et forslag støtter begge, vil preferansen din være standard.
Flytt markøren for å velge forslag
Sist, men ikke minst, kan du nå flytte markøren mens forslag vises. Du kan for eksempel utløse forslag på slutten av et ord, flytte til venstre for å se flere forslag, og deretter bruke erstatt for å overskrive ordet.
Tema: GitHub Light
Emmet
Egendefinerte utdrag i Emmet er tilbake. I tillegg oppdateres nå utdrag automatisk når du lagrer utdragsfilen eller oppdaterer emmet.extensionsPath
omgivelser.
Kildekontroll
Inndataboks for kildekontroll lagrer logg over commit-meldinger
Dette tar for seg a funksjonsforespørsel for å navigere i SCM-forpliktelseshistorikk. trykk ↑ (Windows, Linux Opp) og ↓ (Windows, Linux Ned) for å vise henholdsvis forrige og neste forpliktelser. For å flytte direkte til den første og siste posisjonen til inntastingsboksen, trykk Alt i forbindelse med den tilsvarende piltasten.
Git: Tag kommandoer i undermenyen
Tag-relaterte Git-kommandoer er lagt til ... Git-menyen.
Git: Rebase kommando
En ny Git: Rebase-gren... kommandoen er lagt til som lar deg rebase en gren ved hjelp av brukergrensesnittet.
Git: Rekursiv klonekommando
Med Git: Klon (rekursiv) kommando, kan du nå rekursivt klone Git-depoter, inkludert de nestede Git-undermodulene.
Tidslinje: Emoji-kortkodegjengivelse
Vi gjengir nå emoji-kortkoder, for eksempel :smil:
, i tidslinjevisningen.
Språk
Markdown smart select
Utvid og krymp utvalget i Markdown-dokumenter ved å bruke følgende nye kommandoer:
- Utvide: ⌃⇧⌘→ (Windows, Linux Shift+Alt+Høyre)
- Krympe: ⌃⇧⌘← (Windows, Linux Shift+Alt+Venstre)
Utvalget gjelder for følgende, og følger et tradisjonelt hierarkisk mønster:
- Overskrifter
- Lister
- Blokker sitater
- Inngjerdet kodeblokker
- Html-kodeblokker
- Avsnitt
Tomt klammeparentesformateringsalternativ for JavaScript og TypeScript
Den nye javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
og typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
formateringskonfigurasjonsalternativet kontrollerer om mellomrom settes inn mellom tomme klammeparenteser. Standardverdien for disse innstillingene er sann. For eksempel for JavaScript:
klasse Foo { doFoo() { } }
Omgivelser "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
og formatering av koden resulterer i:
klasse Foo { doFoo() {} // Legg merke til at mellomrommet er fjernet. }
Nettleserstøtte
Last ned mapper (Edge, Chrome)
Utnytte det nye Tilgang til filsystem API, VS-kode som kjører i en nettleser kan nå tilby en nedlastingshandling for mapper fra filutforskeren for å laste ned alle filer og mapper til disk.
Merk: Dette krever en nyere versjon av Microsoft Edge eller Google Chrome.
Åpne Workspace-varsel
Hvis du åpner en mappe som inneholder .kode-arbeidsområde
filer på toppnivå, vil du nå se et varsel som ber deg om å åpne den. Dette var alltid tilfelle i VS Code for desktop, og vil nå fungere i nettleseren også.
Forhindre utilsiktet lukking
En ny setting window.confirmBeforeClose
ble lagt til for å vise en bekreftelsesdialog før du lukker eller forlater arbeidsbenken.
Mulige verdier er:
-
Kun tastatur
Bekreftelsen vil bare vises når du bruker en tastebinding for å lukke (f.eks. ⌘W (Windows, Linux Ctrl+W)). (misligholde) -
bestandig
: Bekreftelsesdialogen vil alltid vises, selv om du lukker fra en musebevegelse. -
aldri
: Bekreftelsen vil aldri vises.
Merk: Denne innstillingen dekker kanskje ikke alle tilfeller. Nettlesere kan fortsatt velge å lukke en fane eller et vindu uten bekreftelse.
Bidrag til utvidelser
GitHub Pull-forespørsler og problemer
Arbeidet fortsetter med GitHub Pull-forespørsler og problemer utvidelse, som lar deg jobbe med, opprette og administrere pull-forespørsler og problemer.
For å lære om alle de nye funksjonene og oppdateringene, kan du se hele endringslogg for 0.22.0 utgivelse av utvidelsen.
Fjernutvikling
Arbeidet fortsetter med Utvidelser for ekstern utvikling, som lar deg bruke en beholder, ekstern maskin eller Windows-undersystem for Linux (WSL) som et fullverdig utviklingsmiljø.
Høydepunkter i 1.51 inkluderer:
- Evne til å vedvare / koble til terminaløkter på nytt.
- Forbedret portvideresendingsopplevelse.
Du kan lære om nye utvidelsesfunksjoner og feilrettinger i Utgivelsesnotater for ekstern utvikling.
Forhåndsvisningsfunksjoner
Forhåndsvisningsfunksjoner er ikke klare for utgivelse, men er funksjonelle nok til å bruke. Vi tar gjerne imot tidlige tilbakemeldinger mens de er under utvikling.
Innstillinger synkronisering
Innstillingssynkronisering synkroniserer nå utvidelsenes globale tilstand. Utvidelser må gi staten til å synkronisere med den nylig introduserte setKeysForSync API.
Husk proxy-legitimasjon
Vi overhaler påloggingsdialogen som viser når en nettverkstilkobling krever autentisering med en proxy. En ny setting, window.enableExperimentalProxyLoginDialog: true
, vil aktivere denne nye opplevelsen som vi planlegger å gjøre til standard i en fremtidig utgivelse.
Tema: GitHub Light
Dialogboksen vises inne i VS-kodevinduet og tilbyr en måte å huske legitimasjonen på, slik at du ikke trenger å oppgi dem hver gang du starter VS-kode. Legitimasjon vil bli lagret i OS standard legitimasjonslager (nøkkelring på macOS, Windows Credential Manager på Windows og gnome nøkkelring på Linux).
Vi viser fortsatt bare denne dialogboksen én gang per økt, men vi kan ta denne avgjørelsen på nytt i fremtiden. Du vil se dialogboksen vises igjen i tilfelle legitimasjonen du valgte å bli husket ikke er gyldig. Ved å gi dem igjen kan du endre dem.
Aktiver dette alternativet og gi oss beskjed hvis noe ikke fungerer som forventet gjennom vår problemsporer.
TypeScript 4.1 beta-støtte
VS Code støtter TypeScript 4.1 beta og nattlige bygninger. 4.1-oppdateringen gir noen nye TypeScript-språkfunksjoner, for eksempel støtte for rekursive betingede typer, samt verktøyforbedringer. Ett fokusområde har vært legge til førstegangsstøtte til @se
tagger i JSDoc-kommentarer.
For å begynne å bruke TypeScript 4.1 nightly builds, installer bare TypeScript Nightly-utvidelse. Vennligst del tilbakemelding og gi oss beskjed hvis du støter på noen feil med TypeScript 4.1.
Utvidelsesforfatter
Oppdaterte utvidelseseksempler
Vi har oppdatert noen av våre utvidelsesprøver å inkludere VS Code standard stiler som er koblet til våre fargetema-tokens. Dette betyr at vanlige elementer (tekst, knapper, innganger) vil være temabare og matche standardstilene i produktet. Nedenfor er utvidelsene som inkluderer dette:
- tilpasset-editor-sample
- nettvisning-eksempel
- webview-view-sample
Kodikonfarger i trær
Med ferdigstillelsen av Temaikon
farge API, kan utvidelsesforfattere bruke temafarger på kodikoner i tilpassede trevisninger.
Synkroniser global tilstand
Utvidelser kan nå synkronisere sin globale tilstand ved å gi nøklene, hvis verdier skal synkroniseres når Settings Sync er aktivert, ved å bruke den nylig introduserte setKeysForSync
API i globalstat
minne.
/** * Angi nøklene hvis verdier skal synkroniseres på tvers av enheter ved synkronisering av brukerdata * som konfigurasjon, utvidelser og minner. * * Merk at denne funksjonen definerer hele settet med nøkler hvis verdier er synkronisert: * - kaller det med en tom matrise stopper synkroniseringen for dette minnet * - kaller det med en ikke-tom array erstatter alle nøkler hvis verdier er synkronisert * * For et gitt sett med nøkler trenger denne funksjonen kun å kalles én gang, men det er ingen skade i * å kalle den gjentatte ganger. * * @param keys Settet med nøkler hvis verdier er synkronisert. */ setKeysForSync (nøkler: streng[]): void;
Kommentar utvidelser kan nå kontrollere synligheten av svarknappen i en kommentartråd med en ny egenskap, Kommentartråd#kansvar
. Når den er satt til falsk
, vil brukere ikke se svarknappen eller kommentarfeltet i kommentartråden.
Foreslåtte utvidelses-APIer
Hver milepæl kommer med nye foreslåtte APIer og utvidelsesforfattere kan prøve dem ut. Som alltid ønsker vi din tilbakemelding. Dette er hva du må gjøre for å prøve ut et foreslått API:
- Du må bruke Insiders fordi foreslåtte API-er endres ofte.
- Du må ha denne linjen i
package.json
fil med utvidelsen din:"enableProposedApi": sant
. - Kopier den nyeste versjonen av
vscode.proposed.d.ts
fil til prosjektets kildeplassering.
Du kan ikke publisere en utvidelse som bruker en foreslått API. Det kan være bruddendringer i neste utgivelse, og vi ønsker aldri å bryte eksisterende utvidelser.
Sammenleggbare utvalgsleverandører endrer hendelse
Leverandører av foldeområde kan signalisere til redaktøren at foldeområder må oppdateres ved hjelp av onDidChangeFoldingRanges
begivenhet.
For mer informasjon og for å gi tilbakemelding, vennligst bruk utgave #108929.
Passord APIer
Som en del av det videre arbeidet med Autentiseringsleverandører, har vi introdusert API for lagring og henting av sensitiv informasjon. Internt fungerer dette som en innpakning av keytar bibliotek som VS Code bruker for å lagre hemmeligheter.
/** * Hent et passord som ble lagret med nøkkel. Returnerer udefinert hvis det * ikke er noe passord som samsvarer med den nøkkelen. * @param key Nøkkelen passordet ble lagret under. */ eksportfunksjon getPassword (nøkkel: streng): Kan deretter brukes; /** * Lagre et passord under en gitt nøkkel. * @param key Nøkkelen for å lagre passordet under * @param value Passordet */ eksportfunksjon settPassword (nøkkel: streng, verdi: streng): Kan deretter brukes; /** * Fjern et passord fra lagringen. * @param key Nøkkelen passordet ble lagret under. */ eksportfunksjon deletePassword (nøkkel: streng): Deretter mulig; /** * Utløses når et passord settes eller slettes. */ eksport const onDidChangePassword: Hendelse;
Engineering
Gjør VS Code Trusted Types kompatible
Vi har fortsatt arbeidet med å gjøre VS-koden "Trusted Types"-kompatibel. Målet er å forhindre DOM-baserte skriptsårbarheter på tvers av nettsteder. Du kan lære mer om pålitelige typer på web.dev Trusted Types-nettsted og følg vår fremgang i utgave #103699.