Microsoft izda VS Code 1.51 z izboljšanimi pripetimi zavihki in še več

Ikona časa branja 11 min. prebrati


Bralci pomagajo pri podpori MSpoweruser. Če kupujete prek naših povezav, lahko prejmemo provizijo. Ikona opisa orodja

Preberite našo stran za razkritje, če želite izvedeti, kako lahko pomagate MSPoweruser vzdrževati uredniško skupino Preberi več

Microsoft VS koda

Microsoft VS koda

Microsoft je danes objavil izdajo Visual Studio Code v1.51 (posodobitev oktobra 2020) z več izboljšavami in popravki napak. Ta nova posodobitev zdaj vsebuje polje za predloge IntelliSense s spreminjanjem velikosti, trajne oddaljene terminalske seje, izboljšane pripete zavihke in še več. Spodaj poiščite celoten dnevnik sprememb, ki ga je zagotovil Microsoft.

Delovno okolje#

Bolj izraziti pripeti zavihki#

Pripeti zavihki bodo zdaj vedno prikazovali ikono žebljička, tudi ko so neaktivni, da jih je lažje prepoznati. Če je urejevalnik pripet in vsebuje neshranjene spremembe, ikona odraža obe stanji.

Neaktivni pripeti zavihki, ki prikazujejo ikone žebljičkov

Drevesa razširitev uporabljajo lebdenje po meri#

Namesto uporabe izvirnega opisa orodja v pogledih drevesa razširitev, zdaj uporabljamo lebdenje po meri, ki je skladno med platformo in se bolje ujema s splošnim uporabniškim vmesnikom.

Drevo po meri

Namestite razširitev brez sinhronizacije#

Zdaj lahko namestite razširitev, ne da bi jo sinhronizirali, medtem ko je sinhronizacija nastavitev omogočena.

Namestite razširitev brez sinhronizacije

Tema: GitHub Light

Namestite razširitev iz Explorerja#

VS Code zdaj podpira namestitev razširitve datoteke VSIX iz Raziskovalca tako, da z desno miškino tipko kliknete datoteko VSIX in izberete Namestite razširitev VSIX element kontekstnega menija.

Vnesite ukaz zamegljenosti#

Nova notranja workbench.action.blur zdaj je na voljo ukaz, ki odstrani fokus iz katerega koli vhoda, ki ga je mogoče osredotočiti. Temu ukazu lahko dodelite bližnjico na tipkovnici v Nastavitve bližnjic na tipkovnici.

Integrirani terminal#

Lokalni odmev#

Izvajanje sprememb v terminalu tradicionalno zahteva, da se informacije pošljejo terminalskemu procesu, obdelajo in vrnejo v kodo VS, da se nanje vpliva. To je lahko počasno, če delate na slabi ali oddaljeni povezavi z omrežjem SSH strežnik or Kodni prostor.

Ta izdaja dodaja terminalu način »lokalni odmev«, ki poskuša predvideti spremembe in premike kazalca, narejene lokalno, in jih prikazati v uporabniškem vmesniku, ne da bi zahteval povratno potovanje do strežnika. Privzeto so predvideni znaki prikazani kot »zatemnjeni«:

Gif, ki prikazuje tipkanje z zakasnitvijo 250 ms, pri čemer so takoj vneseni znaki zatemnjeni

Za to konfiguracijo lahko uporabite dve nastavitvi:

  • terminal.integrated.localEchoLatencyThreshold konfigurira zaznan prag zakasnitve v milisekundah, pri katerem se bo aktiviral lokalni odmev. To je mogoče nastaviti na 0 če želite funkcijo ves čas vklopiti, oz -1 da ga onemogočite. Privzeto na 30.
  • terminal.integrated.localEchoStyle konfigurira slog ali barvo lokalnega znaka, privzeto nastavljeno na dim.

IntelliSense#

Predlogi za spreminjanje velikosti#

Ta mejnik smo naredili več izboljšav uporabniškega vmesnika predlogov. Najprej in predvsem, zdaj je mogoče spremeniti velikost. Povlecite strani ali vogale, da spremenite velikost kontrolnika.

Nadzor predlogov, ki jih je mogoče spremeniti

Tema: GitHub Light, Pisava: FiraCode

Velikost seznama predlogov bo shranjena in obnovljena med sejami. Velikost podokna s podrobnostmi se shrani samo na sejo, saj je ta velikost običajno bolj spremenljiva. Prav tako, editor.suggest.maxVisibleSuggestions nastavitev je zastarela.

Vrstica stanja za predloge#

Kontrolnik predlogov lahko zdaj prikaže tudi svojo vrstico stanja na dnu okna. Omogočite ga z uporabo editor.suggest.showStatusBar nastavitev. Poenostavi preklapljanje podrobnosti in pokaže, ali dokončanje podpira vstavljanje, zamenjavo ali oboje.

Vrstica stanja predlogov

Tema: GitHub Light, Pisava: FiraCode

V zgornjem vzorcu izbira »Vstavi« povzroči Math.floorceil in izbira »Zamenjaj« povzroči Math.floor.

Novi editor.suggest.insertMode nastavitev vam omogoča, da nastavite, ali želite vstaviti ali zamenjati. Če predlog podpira oboje, bo vaša nastavitev privzeta.

Premaknite kazalec, da izberete predloge#

Nenazadnje lahko zdaj premikate kazalko, medtem ko so prikazani predlogi. Na primer, lahko sprožite predloge na koncu besede, se premaknete levo, da vidite več predlogov, in nato uporabite zamenjavo, da prepišete besedo.

Premikanje kazalca med prikazom predlogov

Tema: GitHub Light

Emmet#

Odrezki po meri v Emmetu so nazaj. Poleg tega se odrezki zdaj samodejno osvežijo, ko shranite datoteko izrezkov ali posodobite datoteko emmet.extensionsPath nastavitev.

Emmetovi odrezki po meri spet delujejo

Nadzor vira#

Vnosno polje Source Control shrani zgodovino sporočil o potrditvi#

To naslavlja a zahteva za funkcijo za krmarjenje po zgodovini potrditve SCM. Pritisnite Up in navzdol za prikaz predhodne in naslednje potrditve. Če se želite premakniti neposredno na prvi in ​​zadnji položaj vnosnega polja, pritisnite druga v povezavi z ustrezno puščično tipko.

Ko vnesete sporočilo v vnosno polje SCM, nato uprizorite in potrdite spremembe, s pritiskom na puščico navzgor razkrijete sporočilo, ki je bilo pravkar odobreno.

Git: Označite ukaze v podmeniju#

Ukazi Git, povezani z oznako, so bili dodani v ... Git meni.

Podmeni Git oznake

Git: Ukaz za ponovno bazo#

Novo Git: Rebase vejo ... je bil dodan ukaz, ki vam omogoča ponovno baziranje veje z uporabniškim vmesnikom.

Git: ukaz za rekurzivno kloniranje#

Git: klon (rekurzivno) ukaza, lahko zdaj rekurzivno klonirate Git repozitorije, vključno z njegovimi ugnezdenimi podmoduli Git.

Časovna os: upodabljanje kratke kode emojijev#

Zdaj upodabljamo kratke kode emojijev, kot je npr :smile:, v pogledu časovne osi.

Pogled na časovnico z emoji

jeziki#

Pametna izbira Markdown#

Razširite in skrčite izbor v dokumentih Markdown z naslednjimi novimi ukazi:

  • Razširi: Shift+Alt+desno
  • Skrči: Shift+Alt+levo

Izbira velja za naslednje in sledi tradicionalnemu hierarhičnemu vzorcu:

  • Glave
  • seznami
  • Blok narekovaji
  • Ograjeni kodni bloki
  • Bloki kode HTML
  • Odstavki

Pametna izbira v dokumentu Markdown se razširi od blokovnega elementa do elementa bloka, ki ga vsebuje, do ostale vsebine pod glavo, do same glave

Možnost oblikovanja praznega oklepaja za JavaScript in TypeScript#

Novi javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces in typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces možnost konfiguracije oblikovanja nadzira, ali so med prazne oklepaje vstavljeni presledki. Privzeta vrednost za te nastavitve je resnična. Na primer za JavaScript:

class Foo {
  doFoo() {}
}

Nastavitev "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false in formatiranje kode povzroči:

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

Podpora brskalniku#

Prenos map (Edge, Chrome)#

Izkoriščanje novega Dostop do datotečnega sistema API, Microsoft VS Code, ki se izvaja v brskalniku, lahko zdaj ponudi dejanje prenosa za mape iz File Explorerja za prenos vseh datotek in map na disk.

Prenesite mapo

Opomba: Za to je potrebna najnovejša različica Microsoft Edge ali Google Chrome.

Odprite obvestilo Workspace#

Če odprete mapo, ki vsebuje .code-workspace datotek na najvišji ravni, boste zdaj videli obvestilo, ki vas prosi, da ga odprete. To je bilo vedno tako v Microsoft VS Code za namizje, zdaj pa bo delovalo tudi v brskalniku.

Obvestilo o odprtem delovnem prostoru

Preprečite nenamerno zapiranje#

Nova nastavitev window.confirmBeforeClose je bil dodan za prikaz potrditvenega pogovornega okna, preden zaprete ali zapustite delovno mizo.

Možne vrednosti so:

  • keyboardOnly Potrditev bo prikazana samo, če za zapiranje uporabite vezavo tipk (npr. Ctrl + W). (privzeto)
  • always: Pogovorno okno za potrditev bo vedno prikazano, tudi če zaprete z miško.
  • never: Potrditev ne bo nikoli prikazana.

Zapri potrditveno pogovorno okno

Opombe: Ta nastavitev morda ne zajema vseh primerov. Brskalniki se lahko še vedno odločijo zapreti zavihek ali okno brez potrditve.

Prispevki k razširitvam#

Zahteve in težave GitHub Pull#

Delo se nadaljuje na Zahteve in težave GitHub Pull razširitev, ki vam omogoča, da delate, ustvarjate in upravljate vlečne zahteve in težave.

Če želite izvedeti več o vseh novih funkcijah in posodobitvah, si lahko ogledate celotno vsebino dnevnik sprememb za 0.22.0 sprostitev razširitve.

Razvoj na daljavo#

Delo se nadaljuje na Razširitve za oddaljeni razvoj, ki vam omogočajo uporabo vsebnika, oddaljenega stroja ali Podsistem Windows za Linux (WSL) kot popolno razvojno okolje.

Poudarki funkcij v 1.51 vključujejo:

  • Sposobnost vztrajanja/ponovnega povezovanja s terminalskimi sejami.
  • Izboljšana izkušnja s posredovanjem vrat.

O novih funkcijah razširitev in popravkih napak lahko izveste v Opombe o izdaji za oddaljeni razvoj.

Predogled funkcij#

Funkcije za predogled niso pripravljene za izdajo, vendar so dovolj funkcionalne za uporabo. Pozdravljamo vaše zgodnje povratne informacije, medtem ko so v razvoju.

Sinhronizacija nastavitev#

Sinhronizacija nastavitev zdaj sinhronizira globalno stanje razširitev. Razširitve bodo morale zagotoviti stanje za sinhronizacijo z na novo uvedenim setKeysForSync API.

Zapomni si poverilnice proxyja#

Prenavljamo pogovorno okno za prijavo, ki prikazuje, kdaj omrežna povezava zahteva preverjanje pristnosti s proxyjem. Nova nastavitev, window.enableExperimentalProxyLoginDialog: true, bo omogočila to novo izkušnjo, ki jo nameravamo narediti privzeto v prihodnji izdaji.

Proxy Prijava

Tema: GitHub Light

Pogovorno okno se bo pojavilo v oknu Microsoft VS Code in ponuja način, kako si zapomniti poverilnice, tako da vam jih ni treba posredovati vsakič, ko zaženete VS Code. Poverilnice bodo shranjene v standardnem skladišču poverilnic OS (keychain v macOS, Windows Credential Manager v sistemu Windows in obroček za ključe gnome v Linuxu).

To pogovorno okno še vedno prikažemo samo enkrat na sejo, vendar bomo morda to odločitev ponovno pregledali v prihodnosti. Pogovorno okno se bo znova prikazalo, če poverilnice, ki ste jih izbrali za zapomnitev, niso veljavne. Če jih znova zagotovite, jih lahko spremenite.

Omogočite to možnost in nas obvestite, če kaj ne deluje po pričakovanjih prek naše izdaja sledilnik.

Podpora za TypeScript 4.1 beta#

Microsoft VS Code podpira TypeScript 4.1 beta in nočne gradnje. Posodobitev 4.1 prinaša nekaj novih jezikovnih funkcij TypeScript, kot je podpora za rekurzivne pogojne vrste, kot tudi izboljšave orodja. Eno fokusno področje je bilo dodajanje začetne podpore za @see oznake v komentarjih JSDoc.

Če želite začeti uporabljati nočne gradnje TypeScript 4.1, preprosto namestite datoteko Nočna razširitev TypeScript. Prosimo, delite povratne informacije in nam sporočite, če naletite na kakšne napake s TypeScript 4.1.

Avtorstvo razširitev#

Posodobljeni vzorci razširitev#

Posodobili smo nekaj naših vzorci razširitev vključiti privzete sloge Microsoft VS Code, ki so povezani z našimi žetoni barvnih tem. To pomeni, da bodo skupni elementi (besedilo, gumbi, vnosi) tematski in se bodo ujemali s privzetimi slogi v izdelku. Spodaj so razširitve, ki vključujejo to:

Vzorci sloga Webview

Barve kodikona na drevesih#

Z dokončno izvedbo ThemeIcon barvni API, lahko avtorji razširitev uporabljajo barve teme na kodikonih v drevesnih pogledih po meri.

Pogled drevesa z barvami ikon

Sinhroniziraj globalno stanje#

Razširitve lahko zdaj sinhronizirajo svoje globalno stanje tako, da zagotovijo ključe, katerih vrednosti morajo biti sinhronizirane, ko je omogočena sinhronizacija nastavitev, z uporabo na novo predstavljenega setKeysForSync API v globalState spominek.

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

Vidnost gumba za odgovor v nit komentarjev#

komentar razširitve lahko zdaj nadzorujejo vidnost gumba za odgovor v niti komentarjev z novo lastnostjo, CommentThread#canReply. Ko je nastavljeno na false, uporabniki ne bodo videli gumba za odgovor ali polja za komentar v temi komentarjev.

Predlagani API-ji razširitev#

Vsak mejnik je opremljen z novimi predlaganimi API-ji in avtorji razširitev jih lahko preizkusijo. Kot vedno želimo vaše povratne informacije. To morate storiti, da preizkusite predlagani API:

  • Uporabiti morate Insiders, ker se predlagani API-ji pogosto spreminjajo.
  • To vrstico morate imeti v package.json datoteka vaše razširitve: "enableProposedApi": true.
  • Kopirajte najnovejšo različico vscode.proposed.d.ts datoteko na izvorno lokacijo vašega projekta.

Ne morete objaviti razširitve, ki uporablja predlagani API. V naslednji izdaji lahko pride do prelomnih sprememb in nikoli ne želimo prekiniti obstoječih razširitev.

Ponudniki zložljivega obsega spremenijo dogodek#

Ponudniki zložljivih obsegov lahko urejevalniku sporočijo, da je treba zgibne razpone posodobiti s pomočjo onDidChangeFoldingRanges dogodek.

Za več podrobnosti in povratne informacije uporabite izdaja #108929.

API-ji za gesla#

V okviru nadaljnjega dela na Ponudniki avtentikacije, smo uvedli API za shranjevanje in pridobivanje občutljivih informacij. V notranjosti deluje kot ovoj keytar knjižnica, ki jo VS Code uporablja za shranjevanje skrivnosti.

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

Inženiring#

Zagotavljanje skladnosti zaupanja vrednih vrst Microsoft VS Code#

Nadaljevali smo s prizadevanji, da bi bila koda VS skladna z "Zaupanja vrednimi vrstami". Cilj je preprečiti ranljivosti skriptov med spletnimi stranmi, ki temeljijo na DOM. Več o zaupanja vrednih vrstah lahko izveste na web.dev Spletno mesto Trusted Types in spremljajte naš napredek izdaja #103699.

vir: Microsoft

Več o temah: microsoft, Koda Visual Studio 1.51, VS koda

Pustite Odgovori

Vaš e-naslov ne bo objavljen. Obvezna polja so označena *