VS-kod 1.51 släppt med förbättringar av fästflikar och mer
Visual Studio Code är en populär app för utvecklare. Det är en kodredigerare omdefinierad och optimerad för att bygga och felsöka moderna webb- och molnapplikationer. VS Code kommer med en mängd olika tillägg och hjälpare som verkligen är tidsbesparande. Den är tillgänglig för alla större plattformar, inklusive Windows, MacOS och Linux. Microsoft släppte idag en ny version av appen som ger förbättringar av olika appfunktioner, inklusive fästade flikar, GitHub-integration och mycket mer.
VS-kod 1.51 är anmärkningsvärd för följande ändringar.
Obs: Du kan ladda ner appen från dess officiella webbplats.
Arbetsbänk
Mer framträdande fästa flikar
Nålade flikar kommer nu alltid att visa sin pin-ikon, även när de är inaktiva, för att göra dem lättare att identifiera. Om en redigerare både är fäst och innehåller osparade ändringar, återspeglar ikonen båda tillstånden.
Förlängningsträd använder anpassad hovring
Istället för att använda det inbyggda verktygstipset i förlängningsträdvyer, använder vi nu en anpassad hovring som är konsekvent på flera plattformar och som passar bättre med den övergripande användarupplevelsen.
Installera ett tillägg utan att synkronisera
Du kan nu installera ett tillägg utan att synkronisera det medan inställningssynkronisering är aktiverad.
Tema: GitHub Light
Installera ett tillägg från Explorer
VS-kod stöder nu installation av en filändelse VSIX-fil från Utforskaren genom att högerklicka på en VSIX-fil och välja Installera tillägg VSIX snabbmenyalternativ.
Inmatningskommando för oskärpa
En ny intern workbench.action.blur
kommandot är nu tillgängligt, vilket tar bort fokus från alla fokuserbara ingångar. Du kan tilldela en kortkommando för detta kommando i Inställningar för kortkommandon.
Integrerad terminal
Lokalt eko
Att göra ändringar i terminalen kräver traditionellt att information skickas till terminalprocessen, bearbetas och returneras till VS Code för att påverkas. Detta kan vara långsamt när du arbetar på en dålig eller avlägsen anslutning till en SSH-server eller Kodutrymme.
Den här versionen lägger till ett "lokalt eko"-läge till terminalen, som försöker förutsäga ändringar och markörrörelser som görs lokalt och visa dem i användargränssnittet utan att behöva en rundresa till servern. Som standard visas predikterade tecken som "nedtonade":
Det finns två inställningar du kan använda för att konfigurera detta:
-
terminal.integrated.localEchoLatencyThreshold
konfigurerar den detekterade fördröjningströskeln, i millisekunder, vid vilken lokalt eko kommer att aktiveras. Detta kan ställas in på0
för att slå på funktionen hela tiden, eller-1
för att inaktivera den. Standard till30
. -
terminal.integrated.localEchoStyle
konfigurerar stilen eller färgen för lokalt tecken, som standarddämpa
.
IntelliSense
Förslag som kan ändras storlek
Denna milstolpe har vi gjort flera förbättringar av förslagsgränssnittet. Först och främst kan den nu ändras i storlek. Dra i sidorna eller hörnen för att ändra storlek på kontrollen.
Tema: GitHub Light, Teckensnitt: FiraCode
Storleken på förslagslistan sparas och återställs över sessioner. Storleken på informationsrutan sparas endast per session, eftersom storleken tenderar att vara mer varierande. Även editor.suggest.maxVisibleSuggestions
inställningen har blivit föråldrad.
Statusfält för förslag
Förslagskontrollen kan nu även visa sin egen statusrad längst ner i fönstret. Aktivera det med hjälp av editor.suggest.showStatusBar
miljö. Det gör det enklare att växla detaljer och visar om en komplettering stöder infogning, ersättning eller båda.
Tema: GitHub Light, Teckensnitt: FiraCode
I exemplet ovan resulterar valet av "Infoga". Math.golvtak
och välj "Ersätt" resulterar i Math.floor
.
Den nya editor.suggest.insertMode
inställningen låter dig konfigurera om du föredrar att infoga eller byta ut. När ett förslag stöder båda kommer din inställning att vara standard.
Flytta markören för att välja förslag
Sist men inte minst kan du nu flytta markören medan förslag visas. Du kan till exempel utlösa förslag i slutet av ett ord, flytta åt vänster för att se fler förslag och sedan använda ersätt för att skriva över ordet.
Tema: GitHub Light
Emmet
Anpassade utdrag i Emmet är tillbaka. Dessutom uppdateras nu utdrag automatiskt när du sparar utdragsfilen eller uppdaterar emmet.extensionsPath
miljö.
Källkontroll
Källkontrollinmatningsrutan sparar historik för commit-meddelanden
Detta tar upp a funktionsbegäran för att navigera SCM commit historia. Tryck ↑ (Windows, Linux Upp) och ↓ (Windows, Linux Ner) för att visa föregående respektive nästa commit. För att flytta direkt till den första och sista positionen i inmatningsrutan, tryck Alt tillsammans med motsvarande piltangent.
Git: Taggkommandon i undermenyn
Taggrelaterade Git-kommandon har lagts till i ... Git-menyn.
Git: Rebase kommando
En ny Git: Rebase branch... kommandot har lagts till som låter dig basera om en gren med UI.
Git: Rekursivt klonkommando
Med Git: Clone (rekursiv) kommando, kan du nu rekursivt klona Git-förråd, inklusive dess kapslade Git-undermoduler.
Tidslinje: Emoji-kortkodsrendering
Vi återger nu emoji-kortkoder, som t.ex :leende:
, i tidslinjevyn.
språk
Markdown smarta val
Utöka och förminska urvalet i Markdown-dokument med följande nya kommandon:
- Bygga ut: ⌃⇧⌘→ (Windows, Linux Skift+Alt+Höger)
- Krympa: ⌃⇧⌘← (Windows, Linux Skift+Alt+Vänster)
Urvalet gäller följande och följer ett traditionellt hierarkiskt mönster:
- Rubriker
- Listor
- Blockera citat
- Inhägnade kodblock
- Html-kodblock
- Stycken
Tomt klammerformateringsalternativ för JavaScript och TypeScript
Den nya javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
och typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
formateringskonfigurationsalternativ styr om mellanslag infogas mellan tomma klammerparenteser. Standardvärdet för dessa inställningar är sant. Till exempel, för JavaScript:
klass Foo { doFoo() { } }
Miljö "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
och formatering av koden resulterar i:
class Foo { doFoo() {} // Lägg märke till att utrymmet har tagits bort. }
Webbläsarstöd
Ladda ner mappar (Edge, Chrome)
Utnyttja det nya Tillgång till filsystem API, VS-kod som körs i en webbläsare kan nu erbjuda en nedladdningsåtgärd för mappar från Filutforskaren för att ladda ner alla filer och mappar till disken.
Notera: Detta kräver en ny version av Microsoft Edge eller Google Chrome.
Öppna Workspace-avisering
Om du öppnar en mapp som innehåller .kod-arbetsyta
filer på översta nivån kommer du nu att se ett meddelande som ber dig att öppna den. Detta var alltid fallet i VS Code för stationära datorer, och kommer nu att fungera i webbläsaren också.
Förhindra oavsiktlig stängning
En ny inställning window.confirmBeforeClose
lades till för att visa en bekräftelsedialogruta innan du stänger eller lämnar arbetsbänken.
Möjliga värden är:
-
Endast tangentbord
Bekräftelsen kommer bara att visas när du använder en tangentbindning för att stänga (t.ex. ⌘W (Windows, Linux Ctrl+W)). (standard) -
alltid
: Bekräftelsedialogrutan kommer alltid att visas, även om du stänger från en musgest. -
aldrig
: Bekräftelsen kommer aldrig att visas.
Notera: Den här inställningen kanske inte täcker alla fall. Webbläsare kan fortfarande välja att stänga en flik eller ett fönster utan bekräftelse.
Bidrag till tillägg
GitHub Pull-förfrågningar och problem
Arbetet fortsätter med GitHub Pull-förfrågningar och problem tillägg, som låter dig arbeta med, skapa och hantera pull-förfrågningar och problem.
För att lära dig om alla nya funktioner och uppdateringar kan du se hela ändringslogg för 0.22.0 släppa förlängningen.
Fjärrutveckling
Arbetet fortsätter med Fjärrutvecklingstillägg, som låter dig använda en behållare, fjärrmaskin eller Windows undersystem för Linux (WSL) som en fullfjädrad utvecklingsmiljö.
Funktionshöjdpunkter i 1.51 inkluderar:
- Möjlighet att fortsätta/återansluta till terminalsessioner.
- Förbättrad port forwarding-upplevelse.
Du kan lära dig om nya tilläggsfunktioner och buggfixar i Remote Development release notes.
Förhandsgranska funktioner
Förhandsgranskningsfunktionerna är inte klara för release men är tillräckligt funktionella för att kunna användas. Vi välkomnar din tidiga feedback medan de är under utveckling.
Synkronisering av inställningar
Synkronisering av inställningar synkroniserar nu tilläggens globala status. Tillägg måste ge staten för att synkronisera med den nyligen introducerade setKeysForSync API.
Kom ihåg fullmaktsuppgifter
Vi håller på att se över inloggningsdialogrutan som visar när en nätverksanslutning kräver autentisering med en proxy. En ny miljö, window.enableExperimentalProxyLoginDialog: true
, kommer att möjliggöra denna nya upplevelse som vi planerar att göra som standard i en framtida version.
Tema: GitHub Light
Dialogrutan visas i VS Code-fönstret och erbjuder ett sätt att komma ihåg referenserna så att du inte behöver ange dem varje gång du startar VS Code. Autentiseringsuppgifter kommer att lagras i OS-standardinloggningsarkivet (nyckelring på macOS, Windows Credential Manager på Windows och gnome-nyckelring på Linux).
Vi visar fortfarande bara den här dialogrutan en gång per session, men vi kan komma att återkomma till det här beslutet i framtiden. Du kommer att se dialogrutan visas igen ifall de referenser du valt att komma ihåg inte är giltiga. Genom att tillhandahålla dem igen kan du ändra dem.
Vänligen aktivera det här alternativet och meddela oss om något inte fungerar som förväntat genom vår problemspårare.
Stöd för TypeScript 4.1 beta
VS Code stöder TypeScript 4.1 beta och nattliga byggnader. Uppdateringen 4.1 ger några nya TypeScript-språkfunktioner, som stöd för rekursiva villkorstyper, samt verktygsförbättringar. Ett fokusområde har varit lägga till initialt stöd för @ser
taggar i JSDoc-kommentarer.
För att börja använda TypeScript 4.1 nightly builds, installera bara TypeScript Nightly-tillägg. Dela gärna feedback och låt oss veta om du stöter på några buggar med TypeScript 4.1.
Utformning av tillägg
Uppdaterade tilläggsexempel
Vi har uppdaterat några av våra förlängningsprover att inkludera VS Code standardstilar som är kopplade till våra färgtema-tokens. Detta innebär att vanliga element (text, knappar, ingångar) kommer att vara teman och matcha standardstilarna i produkten. Nedan är tilläggen som inkluderar detta:
- custom-editor-sample
- webbvisningsexempel
- webview-view-sample
Codicon färger i träd
Med slutförandet av Temaikon
färg API, kan tilläggsförfattare använda temafärger på kodikoner i anpassade trädvyer.
Synkronisera globalt tillstånd
Tillägg kan nu synkronisera sin globala status genom att tillhandahålla nycklarna, vars värden ska synkroniseras när Settings Sync är aktiverat, med hjälp av den nyligen introducerade setKeysForSync
API in globala staten
minne.
/** * Ställ in nycklar vars värden ska synkroniseras mellan enheter vid synkronisering av användardata * som konfiguration, tillägg och minnen. * * Observera att den här funktionen definierar hela uppsättningen nycklar vars värden är synkroniserade: * - anropar den med en tom array stoppar synkroniseringen för detta minne * - anropar den med en icke-tom array ersätter alla nycklar vars värden är synkroniserade * * För en given uppsättning nycklar behöver denna funktion endast anropas en gång, men det är ingen skada i att * upprepade gånger anropa den. * * @param-nycklar Uppsättningen nycklar vars värden synkroniseras. */ setKeysForSync (nycklar: sträng[]): void;
Kommentar tillägg kan nu styra synligheten för svarsknappen i en kommentarstråd med en ny egenskap, CommentThread#can Reply
. När den är inställd på falsk
, kommer användare inte att se svarsknappen eller kommentarsrutan i kommentarstråden.
Föreslagna tilläggs-API: er
Varje milstolpe kommer med nya föreslagna API: er och tilläggsförfattare kan prova dem. Som alltid vill vi ha din feedback. Det här är vad du måste göra för att testa ett föreslaget API:
- Du måste använda Insiders eftersom föreslagna API: er ändras ofta.
- Du måste ha den här raden i
package.json
fil med ditt tillägg:"enableProposedApi": sant
. - Kopiera den senaste versionen av
vscode.proposed.d.ts
filen till ditt projekts källplats.
Du kan inte publicera ett tillägg som använder ett föreslaget API. Det kan bli brytande ändringar i nästa version och vi vill aldrig bryta befintliga tillägg.
Folding range leverantörer byter händelse
Leverantörer av vikningsintervall kan signalera till redaktören att vikningsintervall måste uppdateras med hjälp av onDidChangeFoldingRanges
händelse.
För mer information och för att ge feedback, använd nummer #108929.
Lösenords-API: er
Som ett led i det fortsatta arbetet med Autentiseringsleverantörer, har vi introducerat API för att lagra och hämta känslig information. Internt fungerar detta som ett omslag av keytar bibliotek som VS Code använder för att lagra hemligheter.
/** * Hämta ett lösenord som lagrades med nyckel. Returnerar odefinierat om det * inte finns något lösenord som matchar den nyckeln. * @param nyckel Nyckeln som lösenordet lagrades under. */ exportfunktion getPassword (nyckel: sträng): Dålig; /** * Lagra ett lösenord under en given nyckel. * @param nyckel Nyckeln för att lagra lösenordet under * @param värde Lösenordet */ exportfunktion setPassword (nyckel: sträng, värde: sträng): Kan användas; /** * Ta bort ett lösenord från lagringen. * @param nyckel Nyckeln som lösenordet lagrades under. */ exportfunktion deletePassword (nyckel: sträng): Kan användas; /** * Avfyras när ett lösenord ställs in eller tas bort. */ export const onDidChangePassword: Händelse;
Teknik
Gör VS Code Trusted Types-kompatibla
Vi har fortsatt ansträngningarna att göra VS-koden "Trusted Types"-kompatibel. Målet är att förhindra DOM-baserade skriptsårbarheter över flera webbplatser. Du kan lära dig mer om betrodda typer på web.dev Webbplats för Trusted Types och följ våra framsteg i nummer #103699.