Microsoft släpper VS Code 1.51 med förbättrade fästade flikar och mer

Lästid ikon 11 min. läsa


Läsare hjälper till att stödja MSpoweruser. Vi kan få en provision om du köper via våra länkar. Verktygstipsikon

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 VS-kod

Microsoft VS-kod

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.

Inaktiva fästade flikar som visar nålikoner

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.

Anpassad trädsvävning

Installera ett tillägg utan att synkronisera#

Du kan nu installera ett tillägg utan att synkronisera det medan inställningssynkronisering är aktiverad.

Installera tillägg utan synkronisering

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":

Gif som visar skrivning med 250 ms latens där tecken som skrivs in direkt är 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 till 30.
  • terminal.integrated.localEchoStyle konfigurerar stilen eller färgen för lokalt tecken, som standard dim.

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.

Ändra storlek på förslagskontroll

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.

Förslag Statusfält

tema: GitHub Light, Teckensnitt: FiraCode

I exemplet ovan resulterar valet av "Infoga". Math.floorceil 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.

Flytta markören medan förslag visas

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.

Emmet anpassade kodavsnitt fungerar igen

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.

Efter att ha skrivit ett meddelande i SCM-inmatningsrutan, sedan iscensatt och genomfört ändringar, trycker du på uppåtpilen för att avslöja meddelandet som just begicks

Git: Taggkommandon i undermenyn#

Taggrelaterade Git-kommandon har lagts till i . Git-menyn.

Git-taggar undermeny

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.

Tidslinjevy med emoji

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

Smart val i ett Markdown-dokument expanderar från ett blockelement, till blockelementet som innehåller det, till resten av innehållet under en rubrik, till själva rubriken

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:

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.

Hämta mapp

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å.

Öppna arbetsytans avisering

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.

Stäng bekräftelsedialogrutan

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.

Proxy-inloggning

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:

Webview stil exempel

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.

Trädvy med ikonfärger

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 i globalState 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

Mer om ämnena: microsoft, Visual Studio Code 1.51, VS-kod

Kommentera uppropet

E-postadressen publiceras inte. Obligatoriska fält är markerade *