Microsoft brengt VS Code 1.51 uit met verbeterde vastgezette tabbladen en meer
11 minuut. lezen
Bijgewerkt op
Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer
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.
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.
Een extensie installeren zonder te synchroniseren#
U kunt nu een extensie installeren zonder deze te synchroniseren terwijl instellingensynchronisatie is ingeschakeld.
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":
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 op30
.terminal.integrated.localEchoStyle
configureert de stijl of kleur van het lokale teken, standaard ingesteld opdim
.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.
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.Thema: GitHub-licht, Lettertype: FiraCode
In het bovenstaande voorbeeld resulteert het selecteren van "Invoegen" in:
Math.floorceil
en het selecteren van "Vervangen" resulteert inMath.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.
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.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.
Git: Tag-opdrachten in submenu#
Tag-gerelateerde Git-commando's zijn toegevoegd aan de ... Git-menu.
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.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
Lege opmaakoptie voor accolades voor JavaScript en TypeScript#
De nieuwe
javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
entypescript.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.
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.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.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.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:
Codiconkleuren in bomen#
Met de afronding van de
ThemeIcon
kleuren-API, kunnen extensie-auteurs themakleuren gebruiken op codicons in aangepaste boomstructuurweergaven.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-inglobalState
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 opfalse
, 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