Microsoft släpper VS Code 1.51 med förbättrade fästade flikar och mer
11 min. läsa
Uppdaterad den
Läs vår informationssida för att ta reda på hur du kan hjälpa MSPoweruser upprätthålla redaktionen Läs mer
Microsoft tillkännagav idag lanseringen av Visual Studio Code v1.51 (oktober 2020-uppdatering) med flera förbättringar och buggfixar. Den här nya uppdateringen kommer nu med storleksändringsbar IntelliSense-förslagslåda, ihållande fjärrterminalsessioner, förbättrade fästade flikar och mer. Hitta hela ändringsloggen från Microsoft nedan.
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 or 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 tur och retur 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 standarddim
.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.floorceil
och välj "Ersätt" resulterar iMath.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
inställning.Källkontroll#
Källkontrollinmatningsrutan sparar historik för bekräftelse av meddelanden#
Detta tar upp a funktion begäran för att navigera SCM commit historia. Tryck Up och 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 andra tillsammans med motsvarande piltangent.
Git: Taggkommandon i undermenyn#
Taggrelaterade Git-kommandon har lagts till i . Git-menyn.
Git: Rebase kommando#
En ny Git: Rebase-gren... kommando 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
:smile:
, i tidslinjevyn.Språk#
Markdown smarta val#
Utöka och förminska urvalet i Markdown-dokument med följande nya kommandon:
- Bygga ut: Skift+Alt+Höger
- Krympa: Skift+Alt+Vänster
Urvalet gäller följande och följer ett traditionellt hierarkiskt mönster:
- Headers
- listor
- Blockera offert
- Inhägnade kodblock
- Html-kodblock
- punkterna
Tomt klammerformateringsalternativ för JavaScript och TypeScript#
Den nya
javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
ochtypescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
formateringskonfigurationsalternativ styr om mellanslag infogas mellan tomma klammerparenteser. Standardvärdet för dessa inställningar är sant. Till exempel, för JavaScript:class Foo { doFoo() {} }
Att lägga plattor
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
och formatering av koden resulterar i:class Foo { doFoo() {} // Notice that the space has been removed }
Webbläsarstöd#
Ladda ner mappar (Edge, Chrome)#
Utnyttja det nya Tillgång till filsystem API, Microsoft VS Code 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
.code-workspace
filer på översta nivån kommer du nu att se ett meddelande som ber dig att öppna den. Detta var alltid fallet i Microsoft 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:
keyboardOnly
Bekräftelsen kommer bara att visas när du använder en tangentbindning för att stänga (t.ex. Ctrl + W). (standard)always
: Bekräftelsedialogrutan kommer alltid att visas, även om du stänger från en musgest.never
: Bekräftelsen kommer aldrig att visas.Anmärkningar: 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 delsystem 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örhandsgranskningsfunktioner ä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 Microsoft VS Code-fönstret och erbjuder ett sätt att komma ihåg autentiseringsuppgifterna så att du inte behöver tillhandahålla 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 frågeställare.
Stöd för TypeScript 4.1 beta#
Microsoft 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
@see
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 Microsoft VS Code-standardstilar som är anslutna 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:
Codicon färger i träd#
Med slutförandet av
ThemeIcon
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 sitt globala tillstånd 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 iglobalState
minne./** * Set the keys whose values should be synchronized across devices when synchronizing user-data * like configuration, extensions, and mementos. * * Note that this function defines the whole set of keys whose values are synchronized: * - calling it with an empty array stops synchronization for this memento * - calling it with a non-empty array replaces all keys whose values are synchronized * * For any given set of keys this function needs to be called only once but there is no harm in * repeatedly calling it. * * @param keys The set of keys whose values are synced. */ setKeysForSync(keys: string[]): void;
Synlighet för kommentarstrådens svarsknapp#
Kommentar tillägg kan nu styra synligheten för svarsknappen i en kommentarstråd med en ny egenskap,
CommentThread#canReply
. När den är inställd påfalse
, 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": true
.- 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 utfärda #108929.
Lösenords-API:er#
Som en del av 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.
/** * Retrieve a password that was stored with key. Returns undefined if there * is no password matching that key. * @param key The key the password was stored under. */ export function getPassword(key: string): Thenable<string | undefined>; /** * Store a password under a given key. * @param key The key to store the password under * @param value The password */ export function setPassword(key: string, value: string): Thenable<void>; /** * Remove a password from storage. * @param key The key the password was stored under. */ export function deletePassword(key: string): Thenable<void>; /** * Fires when a password is set or deleted. */ export const onDidChangePassword: Event<void>;
Teknik#
Gör Microsoft 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 utfärda #103699.
Källa: Microsoft