Microsoft brengt VS Code 1.51 uit met verbeterde vastgezette tabbladen en meer

Pictogram voor leestijd 11 minuut. lezen


Lezers helpen MSpoweruser ondersteunen. We kunnen een commissie krijgen als u via onze links koopt. Tooltip-pictogram

Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer

Microsoft VS-code

Microsoft VS-code

Microsoft heeft vandaag de release aangekondigd van Visual Studio Code v1.51 (update oktober 2020) met verschillende verbeteringen en bugfixes. Deze nieuwe update wordt nu geleverd met een aanpasbaar IntelliSense-suggestiesvenster, aanhoudende externe terminalsessies, verbeterde vastgezette tabbladen en meer. Hieronder vindt u het volledige wijzigingslogboek van Microsoft.

Werkbank#

Meer prominente vastgezette tabbladen#

Op vastgezette tabbladen wordt nu altijd hun pin-pictogram weergegeven, zelfs als ze inactief zijn, zodat ze gemakkelijker te herkennen zijn. Als een editor zowel is vastgezet als niet-opgeslagen wijzigingen bevat, geeft het pictogram beide statussen weer.

Inactieve vastgezette tabbladen met speldpictogrammen

Extensiestructuren gebruiken aangepaste hover#

In plaats van de native tooltip in extensiestructuurweergaven te gebruiken, gebruiken we nu een aangepaste hover die consistent is voor meerdere platforms en beter past bij de algehele UX.

Aangepaste boomhover

Een extensie installeren zonder te synchroniseren#

U kunt nu een extensie installeren zonder deze te synchroniseren terwijl instellingensynchronisatie is ingeschakeld.

Extensie installeren zonder te synchroniseren

Thema: GitHub-licht

Een extensie installeren vanuit Explorer#

VS Code ondersteunt nu het installeren van een extensie VSIX-bestand vanuit de Verkenner door met de rechtermuisknop op een VSIX-bestand te klikken en de . te kiezen Extensie VSIX installeren contextmenu-item.

Invoer vervagingscommando#

Een nieuwe interne workbench.action.blur commando is nu beschikbaar, waardoor de focus van elke focusbare invoer wordt verwijderd. U kunt een sneltoets toewijzen aan deze opdracht in de Voorkeuren voor sneltoetsen.

Geïntegreerde terminal#

Lokale echo#

Het aanbrengen van wijzigingen in de terminal vereist traditioneel dat informatie naar het terminalproces wordt verzonden, verwerkt en teruggestuurd naar VS Code om te worden beïnvloed. Dit kan traag zijn bij het werken aan een slechte of verre verbinding met een SSH-server or Coderuimte.

Deze release voegt een "lokale echo"-modus toe aan de terminal, die probeert om lokaal gemaakte wijzigingen en cursorbewegingen te voorspellen en deze in de gebruikersinterface weer te geven zonder dat een retourtje naar de server nodig is. Standaard worden voorspelde tekens weergegeven als "gedimd":

Gif toont typen met een latentie van 250 ms waarbij onmiddellijk ingevoerde tekens gedimd worden weergegeven

Er zijn twee instellingen die u kunt gebruiken om dit te configureren:

  • terminal.integrated.localEchoLatencyThreshold configureert de gedetecteerde vertragingsdrempel, in milliseconden, waarop de lokale echo wordt geactiveerd. Dit kan worden ingesteld op: 0 om de functie altijd in te schakelen, of -1 om het uit te schakelen. Standaard ingesteld op 30.
  • terminal.integrated.localEchoStyle configureert de stijl of kleur van het lokale teken, standaard ingesteld op dim.

IntelliSense#

Aanpasbare suggesties#

Deze mijlpaal hebben we verschillende verbeteringen aangebracht in de gebruikersinterface voor suggesties. Eerst en vooral kan het formaat nu worden gewijzigd. Sleep de zijkanten of hoeken om het formaat van het besturingselement te wijzigen.

Aanpasbaar Suggesties controle

Thema: GitHub-licht, Lettertype: FiraCode

De grootte van de lijst met suggesties wordt opgeslagen en hersteld in sessies. De grootte van het detailvenster wordt alleen per sessie opgeslagen, omdat die grootte meestal meer variabel is. Ook de editor.suggest.maxVisibleSuggestions instelling is achterhaald.

Statusbalk voor suggesties#

Het suggestiebesturingselement kan nu ook een eigen statusbalk onderaan het venster tonen. Schakel het in met de editor.suggest.showStatusBar instelling. Het maakt het schakelen tussen details eenvoudiger en laat zien of een aanvulling het invoegen, vervangen of beide ondersteunt.

Suggesties Statusbalk

Thema: GitHub-licht, Lettertype: FiraCode

In het bovenstaande voorbeeld resulteert het selecteren van "Invoegen" in: Math.floorceil en het selecteren van "Vervangen" resulteert in Math.floor.

De nieuwe editor.suggest.insertMode instelling stelt u in staat om te configureren of u de voorkeur geeft aan invoegen of vervangen. Als een suggestie beide ondersteunt, is uw voorkeur de standaard.

Cursor verplaatsen om suggesties te selecteren#

Last but not least kunt u nu de cursor verplaatsen terwijl suggesties worden weergegeven. U kunt bijvoorbeeld suggesties activeren aan het einde van een woord, naar links gaan om meer suggesties te zien en vervolgens vervangen gebruiken om het woord te overschrijven.

Cursor verplaatsen terwijl suggesties worden weergegeven

Thema: GitHub-licht

mier#

Aangepaste fragmenten in Emmet zijn terug. Bovendien worden fragmenten nu automatisch vernieuwd bij het opslaan van het fragmentenbestand of het bijwerken van de emmet.extensionsPath instellen.

Aangepaste fragmenten van Emmet werken weer

Bron controle#

Invoervenster Bronbeheer slaat geschiedenis van vastleggingsberichten op#

Dit adresseert een functieverzoek om door de SCM-commitgeschiedenis te navigeren. druk op Up en Beneden om respectievelijk de vorige en volgende commits weer te geven. Om direct naar de eerste en laatste positie van het invoervak ​​te gaan, drukt u op anders in combinatie met de bijbehorende pijltoets.

Nadat u een bericht in het SCM-invoervak ​​hebt getypt en vervolgens wijzigingen hebt voorbereid en doorgevoerd, drukt u op de pijl-omhoog om het bericht te tonen dat zojuist is vastgelegd

Git: Tag-opdrachten in submenu#

Tag-gerelateerde Git-commando's zijn toegevoegd aan de ... Git-menu.

Submenu Git-tags

Git: opdracht Rebase#

nieuwe Git: Vertakking opnieuw baseren… commando is toegevoegd waarmee u een vertakking kunt rebasen met behulp van de gebruikersinterface.

Git: recursieve kloonopdracht#

Met de Git: Kloon (Recursief) commando, kun je nu recursief Git-repositories klonen, inclusief de geneste Git-submodules.

Tijdlijn: Emoji shortcode-weergave#

We renderen nu emoji-shortcodes, zoals :smile:, in de tijdlijnweergave.

Tijdlijnweergave met emoji

Talen#

Markdown slimme selectie#

Vergroot en verklein selectie in Markdown-documenten met de volgende nieuwe opdrachten:

  • Uitklappen: Shift+Alt+Rechts
  • Krimpen: Shift+Alt+Links

Selectie is van toepassing op het volgende en volgt een traditioneel hiërarchisch patroon:

  • Headers
  • lijsten
  • Blok citaten
  • Omheinde codeblokken
  • Html-codeblokken
  • De leden

Slim selecteren binnen een Markdown-document breidt uit van een blokelement naar het blokelement dat het bevat, naar de rest van de inhoud onder een koptekst, naar de koptekst zelf

Lege opmaakoptie voor accolades voor JavaScript en TypeScript#

De nieuwe javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces en typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces opmaakconfiguratieoptie bepaalt of er spaties worden ingevoegd tussen lege accolades. De standaardwaarde voor deze instellingen is waar. Bijvoorbeeld voor JavaScript:

class Foo {
  doFoo() {}
}

omgeving "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false en het formatteren van de code resulteert in:

class Foo {
  doFoo() {} // Notice that the space has been removed
}

Browser ondersteuning#

Downloadmappen (Edge, Chrome)#

Gebruikmakend van het nieuwe Toegang tot bestandssysteem API, Microsoft VS Code die in een browser wordt uitgevoerd, kan nu een downloadactie aanbieden voor mappen uit de bestandsverkenner om alle bestanden en mappen naar schijf te downloaden.

Download map

Opmerking: Hiervoor is een recente versie van Microsoft Edge of Google Chrome vereist.

Melding werkruimte openen#

Als u een map opent met .code-workspace bestanden op het hoogste niveau, ziet u nu een melding waarin u wordt gevraagd deze te openen. Dit was altijd het geval in Microsoft VS Code voor desktop en zal nu ook in de browser werken.

Melding werkruimte openen

Voorkomen per ongeluk sluiten#

Een nieuwe instelling window.confirmBeforeClose is toegevoegd om een ​​bevestigingsvenster weer te geven voordat de werkbank wordt gesloten of verlaten.

Mogelijke waarden zijn:

  • keyboardOnly De bevestiging wordt alleen getoond wanneer u een sneltoets gebruikt om te sluiten (bijvoorbeeld Ctrl + W). (standaard)
  • always: Het bevestigingsvenster wordt altijd weergegeven, zelfs als u sluit met een muisgebaar.
  • never: De bevestiging wordt nooit getoond.

Bevestigingsdialoogvenster sluiten

Note: Deze instelling dekt mogelijk niet alle gevallen. Browsers kunnen nog steeds besluiten een tabblad of venster te sluiten zonder bevestiging.

Bijdragen aan extensies#

GitHub Pull-verzoeken en problemen#

Er wordt verder gewerkt aan de GitHub Pull-verzoeken en problemen extensie, waarmee u aan pull-verzoeken en problemen kunt werken, deze kunt maken en beheren.

Om meer te weten te komen over alle nieuwe functies en updates, kun je de volledige changelog voor de 0.22.0 release van de extensie.

Ontwikkeling op afstand#

Er wordt verder gewerkt aan de Extensies voor ontwikkeling op afstand, waarmee u een container, externe machine of de . kunt gebruiken Windows Subsystem voor Linux (WSL) als een volledige ontwikkelomgeving.

Hoogtepunten van functies in 1.51 zijn onder meer:

  • Mogelijkheid om aan te houden / opnieuw verbinding te maken met terminalsessies.
  • Verbeterde port forwarding-ervaring.

U kunt meer te weten komen over nieuwe extensiefuncties en bugfixes in de Release-opmerkingen voor ontwikkeling op afstand.

Preview-functies#

Preview-functies zijn nog niet klaar voor release, maar zijn functioneel genoeg om te gebruiken. We verwelkomen uw vroege feedback terwijl ze in ontwikkeling zijn.

Instellingen synchroniseren#

Instellingensynchronisatie synchroniseert nu de algemene status van extensies. Extensies moeten de status geven om te synchroniseren met behulp van de nieuw geïntroduceerde setKeysForSync API.

Proxygegevens onthouden#

We reviseren het login-dialoogvenster dat laat zien wanneer een netwerkverbinding authenticatie met een proxy vereist. Een nieuwe instelling, window.enableExperimentalProxyLoginDialog: true, zal deze nieuwe ervaring mogelijk maken die we van plan zijn de standaard te maken in een toekomstige release.

Proxy-login

Thema: GitHub-licht

Het dialoogvenster verschijnt in het Microsoft VS Code-venster en biedt een manier om de inloggegevens te onthouden, zodat u deze niet elke keer hoeft op te geven wanneer u VS Code start. Referenties worden opgeslagen in de standaard referentieopslag van het besturingssysteem (sleutelhanger op macOS, Windows Credential Manager op Windows en gnome-sleutelhanger op Linux).

We tonen dit dialoogvenster nog steeds maar één keer per sessie, maar kunnen in de toekomst op deze beslissing terugkomen. U zult het dialoogvenster opnieuw zien verschijnen als de inloggegevens die u hebt geselecteerd om te onthouden niet geldig zijn. Als u ze opnieuw verstrekt, kunt u ze wijzigen.

Schakel deze optie in en laat het ons weten als iets niet werkt zoals verwacht via onze probleem met tracker.

TypeScript 4.1 bèta-ondersteuning#

Microsoft VS Code ondersteunt de TypeScript 4.1 bèta en nachtbouw. De 4.1-update brengt een aantal nieuwe TypeScript-taalfuncties, zoals ondersteuning voor: recursieve voorwaardelijke typen, evenals tooling verbeteringen. Een aandachtsgebied is geweest: initiële ondersteuning toevoegen For @see tags in JSDoc-opmerkingen.

Om de TypeScript 4.1 nightly builds te gaan gebruiken, installeert u gewoon de TypeScript Nightly-extensie. Deel alstublieft uw feedback en laat het ons weten als u bugs tegenkomt met TypeScript 4.1.

Extensie authoring#

Bijgewerkte extensievoorbeelden#

We hebben een aantal van onze geüpdatet extensie voorbeelden om standaardstijlen van Microsoft VS Code op te nemen die zijn aangesloten op onze kleurthema-tokens. Dit betekent dat gemeenschappelijke elementen (tekst, knoppen, invoer) thema's kunnen hebben en overeenkomen met de standaardstijlen in het product. Hieronder staan ​​de extensies die dit bevatten:

Voorbeelden van webview-stijl

Codiconkleuren in bomen#

Met de afronding van de ThemeIcon kleuren-API, kunnen extensie-auteurs themakleuren gebruiken op codicons in aangepaste boomstructuurweergaven.

Boomstructuur met pictogramkleuren

Globale status synchroniseren#

Extensies kunnen nu hun globale status synchroniseren door de sleutels op te geven, waarvan de waarden moeten worden gesynchroniseerd wanneer Instellingensynchronisatie is ingeschakeld, met behulp van de nieuw geïntroduceerde setKeysForSync API-in globalState aandenken.

/**
 * 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;

Zichtbaarheid van de reactie-thread-antwoordknop#

Opmerking extensies kunnen nu de zichtbaarheid van de antwoordknop in een reactiethread regelen met een nieuwe eigenschap, CommentThread#canReply. Wanneer het is ingesteld op false, zullen gebruikers de antwoordknop of het opmerkingenvak niet zien in de opmerkingenreeks.

Voorgestelde extensie-API's#

Elke mijlpaal wordt geleverd met nieuwe voorgestelde API's en auteurs van extensies kunnen ze uitproberen. Zoals altijd willen we uw feedback. Dit is wat u moet doen om een ​​voorgestelde API uit te proberen:

  • U moet Insiders gebruiken omdat voorgestelde API's regelmatig veranderen.
  • U moet deze regel in de hebben package.json bestand van uw extensie: "enableProposedApi": true.
  • Kopieer de laatste versie van de vscode.proposed.d.ts bestand naar de bronlocatie van uw project.

U kunt geen extensie publiceren die een voorgestelde API gebruikt. Er kunnen belangrijke wijzigingen optreden in de volgende release en we willen nooit bestaande extensies verbreken.

Aanbieders vouwbereik wijzigen evenement#

Aanbieders van vouwbereiken kunnen aan de redactie aangeven dat vouwbereiken moeten worden bijgewerkt met behulp van de onDidChangeFoldingRanges evenement.

Voor meer details en om feedback te geven, gebruik a.u.b. probleem #108929.

Wachtwoord-API's#

Als onderdeel van het voortgezette werk aan Authenticatieproviders, hebben we API geïntroduceerd voor het opslaan en ophalen van gevoelige informatie. Intern fungeert dit als een wrapper van de sleutelaar bibliotheek die VS Code gebruikt voor het opslaan van geheimen.

/**
 * 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>;

Engineering#

Compatibel maken met Microsoft VS Code Trusted Types#

We hebben ons ingespannen om de VS Code "Trusted Types" compliant te maken. Het doel is om op DOM gebaseerde cross-site scripting-kwetsbaarheden te voorkomen. U kunt meer leren over vertrouwde typen op de web.dev Trusted Types-site en volg onze voortgang in probleem #103699.

Bron: Microsoft

Meer over de onderwerpen: microsoft, Visual Studio Code 1.51, VS-code

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *