Microsoft lansează VS Code 1.51 cu file fixate îmbunătățite și multe altele

Pictograma timp de citire 11 min. citit


Cititorii ajută la sprijinirea MSpoweruser. Este posibil să primim un comision dacă cumpărați prin link-urile noastre. Pictograma Tooltip

Citiți pagina noastră de dezvăluire pentru a afla cum puteți ajuta MSPoweruser să susțină echipa editorială Află mai multe

Microsoft VS Code

Microsoft VS Code

Microsoft a anunțat astăzi lansarea Visual Studio Code v1.51 (actualizare octombrie 2020) cu mai multe îmbunătățiri și remedieri de erori. Această nouă actualizare vine acum cu o casetă de sugestii IntelliSense redimensionabilă, sesiuni persistente de terminal la distanță, file fixate îmbunătățite și multe altele. Găsiți mai jos jurnalul complet de modificări oferit de Microsoft.

Banc de lucru#

File fixate mai proeminente#

Filele fixate vor afișa acum întotdeauna pictograma lor, chiar dacă sunt inactive, pentru a le face mai ușor de identificat. Dacă un editor este fixat și conține modificări nesalvate, pictograma reflectă ambele stări.

File fixate inactive care afișează pictograme de tip PIN

Arborii extensii folosesc hover personalizat#

În loc să folosim sfatul explicativ nativ în vizualizările arborelui extensii, acum folosim un hover personalizat care este coerent pe mai multe platforme și se potrivește mai bine cu UX-ul general.

Hover personalizat pentru arbore

Instalați o extensie fără sincronizare#

Acum puteți instala o extensie fără a o sincroniza în timp ce sincronizarea setărilor este activată.

Instalați extensia fără sincronizare

Temă: GitHub Light

Instalați o extensie din Explorer#

VS Code acceptă acum instalarea unui fișier cu extensie VSIX din Explorer făcând clic dreapta pe un fișier VSIX și alegând Instalați extensia VSIX element de meniu contextual.

Introduceți comanda estompare#

Un nou intern workbench.action.blur este acum disponibilă comanda, care elimină focalizarea de la orice intrare focalabilă. Puteți atribui o comandă rapidă de la tastatură pentru această comandă în Comenzi rapide de la tastatură Preferințe.

Terminal integrat#

Ecoul local#

Efectuarea modificărilor în terminal necesită în mod tradițional ca informațiile să fie trimise către procesul terminalului, procesate și returnate la VS Code pentru a fi afectate. Acest lucru poate fi lent atunci când lucrați la o conexiune slabă sau îndepărtată la un Server SSH or Spațiu de cod.

Această versiune adaugă un mod „ecou local” la terminal, care încearcă să prezică modificările și mișcările cursorului efectuate local și să le afișeze în interfața de utilizare fără a necesita o călătorie dus-întors la server. În mod prestabilit, caracterele prezise se afișează ca „în estompare”:

Gif care arată tastarea cu o latență de 250 ms în care caracterele introduse imediat sunt estompate

Există două setări pe care le puteți utiliza pentru a configura acest lucru:

  • terminal.integrated.localEchoLatencyThreshold configurează pragul de întârziere detectat, în milisecunde, la care se va activa ecoul local. Acesta poate fi setat la 0 pentru a activa funcția tot timpul sau -1 pentru a-l dezactiva. Implicit la 30.
  • terminal.integrated.localEchoStyle configurează stilul sau culoarea caracterului local, implicit dim.

IntelliSense#

Sugestii redimensionabile#

În această etapă, am adus câteva îmbunătățiri la interfața de utilizare pentru sugestii. În primul rând, acum poate fi redimensionat. Trageți laturile sau colțurile pentru a redimensiona controlul.

Controlul sugestiilor redimensionabile

Temă: GitHub Light, Font: FiraCode

Mărimea listei de sugestii va fi salvată și restaurată pe parcursul sesiunilor. Dimensiunea panoului de detalii este salvată doar pentru fiecare sesiune, deoarece dimensiunea respectivă tinde să fie mai variabilă. De asemenea editor.suggest.maxVisibleSuggestions setarea a devenit învechită.

Bara de stare pentru sugestii#

Controlul sugestiilor poate acum să arate și propria bară de stare în partea de jos a ferestrei. Activați-l folosind editor.suggest.showStatusBar setare. Face comutarea detaliilor mai simplă și arată dacă o completare acceptă inserarea, înlocuirea sau ambele.

Bara de stare Sugestii

Temă: GitHub Light, Font: FiraCode

În exemplul de mai sus, selectând „Insert” are ca rezultat Math.floorceil iar selectând „Înlocuire” rezultă Math.floor.

Noul editor.suggest.insertMode setarea vă permite să configurați dacă preferați inserarea sau înlocuirea. Când o sugestie acceptă ambele, preferința dvs. va fi implicită.

Mutați cursorul pentru a selecta sugestii#

Nu în ultimul rând, acum puteți muta cursorul în timp ce sugestiile sunt afișate. De exemplu, puteți declanșa sugestii la sfârșitul unui cuvânt, puteți muta spre stânga pentru a vedea mai multe sugestii și apoi utilizați înlocuire pentru a suprascrie cuvântul.

Mutare cursor în timp ce sugestiile sunt afișate

Temă: GitHub Light

Emmet#

Fragmentele personalizate din Emmet au revenit. În plus, fragmentele se reîmprospătează automat la salvarea fișierului de fragmente sau la actualizarea emmet.extensionsPath setare.

Fragmente personalizate Emmet funcționează din nou

Controlul surselor#

Caseta de intrare Control sursă salvează istoricul mesajelor de confirmare#

Aceasta se adresează unui cerere de caracteristică pentru a naviga în istoricul comiterilor SCM. presa Up și Jos pentru a afișa comiterile anterioare și, respectiv, următoare. Pentru a vă deplasa direct la prima și ultima poziție a casetei de introducere, apăsați Alt împreună cu tasta săgeată corespunzătoare.

După ce ați introdus un mesaj în caseta de introducere a SCM, apoi puneți în scenă și comiteți modificări, apăsarea săgeții în sus dezvăluie mesajul care tocmai a fost comis

Git: Etichetați comenzile în submeniu#

Comenzile Git legate de etichete au fost adăugate la ... meniul Git.

Submeniul etichete Git

Git: comanda Rebase#

O nouă Git: Rebase branch... a fost adăugată comanda care vă permite să rebazați o ramură folosind interfața de utilizare.

Git: Comanda clonării recursive#

Cu Git: clonează (recursiv) comandă, acum puteți clona recursiv depozitele Git, inclusiv submodulele Git imbricate.

Cronologie: redarea codului scurt pentru emoji#

Acum redăm coduri scurte emoji, cum ar fi :smile:, în vizualizarea cronologie.

Afișare cronologie cu emoji

Limbă#

Selectare inteligentă Markdown#

Extindeți și micșorați selecția în documentele Markdown utilizând următoarele comenzi noi:

  • Extinde: Shift+Alt+Dreapta
  • Micșorare: Shift+Alt+Stânga

Selecția se aplică la următoarele și urmează un model ierarhic tradițional:

  • Anteturi
  • liste
  • Blocați cotațiile
  • Blocuri de cod îngrădite
  • Blocuri de cod HTML
  • alineatele

Selectarea inteligentă dintr-un document Markdown se extinde de la un element bloc, la elementul bloc care îl conține, la restul conținutului sub un antet, la antetul însuși

Opțiune de formatare goală pentru acolade pentru JavaScript și TypeScript#

Noul javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces și typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces opțiunea de configurare de formatare controlează dacă sunt inserate spații între acolade goale. Valoarea implicită pentru aceste setări este adevărată. De exemplu, pentru JavaScript:

class Foo {
  doFoo() {}
}

reglaj "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false iar formatarea codului are ca rezultat:

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

Suport browser#

Descărcați foldere (Edge, Chrome)#

Folosind noul Acces la sistemul de fișiere API, Microsoft VS Code care rulează într-un browser poate oferi acum o acțiune de descărcare pentru foldere din File Explorer pentru a descărca toate fișierele și folderele pe disc.

Descărcați folderul

Notă: Aceasta necesită o versiune recentă de Microsoft Edge sau Google Chrome.

Deschideți notificarea spațiului de lucru#

Dacă deschideți un folder care conține .code-workspace fișiere la nivelul superior, acum veți vedea o notificare care vă cere să o deschideți. Acesta a fost întotdeauna cazul în Microsoft VS Code pentru desktop și acum va funcționa și în browser.

Deschideți notificarea spațiului de lucru

Preveniți închiderea accidentală#

O nouă setare window.confirmBeforeClose a fost adăugat pentru a afișa un dialog de confirmare înainte de a închide sau de a părăsi bancul de lucru.

Valorile posibile sunt:

  • keyboardOnly Confirmarea va fi afișată numai atunci când utilizați o combinare de taste pentru a închide (de exemplu, Ctrl + W). (Mod implicit)
  • always: dialogul de confirmare va fi întotdeauna afișat, chiar dacă închideți printr-un gest de mouse.
  • never: Confirmarea nu va fi niciodată afișată.

Închideți dialogul de confirmare

notițe: Este posibil ca această setare să nu acopere toate cazurile. Browserele pot decide totuși să închidă o filă sau o fereastră fără confirmare.

Contribuții la extinderi#

Solicitări și probleme GitHub Pull#

Lucrările continuă la Solicitări și probleme GitHub Pull extensie, care vă permite să lucrați la, să creați și să gestionați solicitările și problemele de extragere.

Pentru a afla despre toate noile funcții și actualizări, puteți vedea integral jurnalul de modificări pentru versiunea 0.22.0 eliberarea extensiei.

Dezvoltare la distanță#

Lucrările continuă la Extensii de dezvoltare la distanță, care vă permit să utilizați un container, o mașină de la distanță sau Subsistem Windows pentru Linux (WSL) ca mediu de dezvoltare cu funcții complete.

Caracteristicile evidențiate în 1.51 includ:

  • Abilitatea de a persista/reconecta la sesiunile terminale.
  • Experiență îmbunătățită de redirecționare a porturilor.

Puteți afla despre noile funcții de extensie și remedieri de erori în Note de lansare pentru dezvoltarea de la distanță.

Previzualizare caracteristici#

Funcțiile de previzualizare nu sunt pregătite pentru lansare, dar sunt suficient de funcționale pentru a fi utilizate. Așteptăm feedback-ul dumneavoastră timpuriu în timp ce acestea sunt în curs de dezvoltare.

Sincronizarea setărilor#

Sincronizarea setărilor sincronizează acum starea globală a extensiilor. Extensiile vor trebui să ofere starea de sincronizare folosind noul introdus setKeysForSync API-ul.

Amintiți-vă acreditările proxy#

Revizuim dialogul de conectare care arată când o conexiune la rețea necesită autentificare cu un proxy. Un nou cadru, window.enableExperimentalProxyLoginDialog: true, va permite această nouă experiență pe care intenționăm să o facem implicită într-o versiune viitoare.

Conectare proxy

Temă: GitHub Light

Dialogul va apărea în interiorul ferestrei Microsoft VS Code și va oferi o modalitate de a vă aminti acreditările, astfel încât să nu fie necesar să le furnizați de fiecare dată când porniți VS Code. Acreditările vor fi stocate în magazinul de acreditări standard al sistemului de operare (breloc pe macOS, Windows Credential Manager pe Windows și breloc de chei gnome pe Linux).

Încă afișăm această casetă de dialog doar o dată pe sesiune, dar este posibil să revizuim această decizie în viitor. Veți vedea că apare din nou dialogul în cazul în care acreditările pe care le-ați selectat pentru a fi reținute nu sunt valide. Furnizarea acestora din nou vă permite să le schimbați.

Vă rugăm să activați această opțiune și să ne anunțați dacă ceva nu funcționează conform așteptărilor prin intermediul nostru detector de probleme.

Suport TypeScript 4.1 beta#

Microsoft VS Code acceptă TypeScript 4.1 beta și construcții nocturne. Actualizarea 4.1 aduce câteva caracteristici noi ale limbajului TypeScript, cum ar fi suportul pentru tipuri condiționale recursive, precum și îmbunătățiri de scule. O zonă de focalizare a fost adăugarea suportului inițial pentru @see etichete în comentariile JSDoc.

Pentru a începe să utilizați versiunile de noapte TypeScript 4.1, trebuie doar să instalați Extensie TypeScript Nightly. Vă rugăm să trimiteți feedback și să ne spuneți dacă întâmpinați erori cu TypeScript 4.1.

Crearea extensiilor#

Exemple de extensii actualizate#

Am actualizat unele dintre ele mostre de extensie pentru a include stiluri implicite Microsoft VS Code care sunt conectate la jetoanele noastre de temă de culoare. Aceasta înseamnă că elementele comune (text, butoane, intrări) vor avea tematică și se vor potrivi cu stilurile implicite din produs. Mai jos sunt extensiile care includ acestea:

Exemple de stil Webview

Codicon culori în copaci#

Odată cu finalizarea ThemeIcon API de culoare, autorii extensiilor pot folosi culorile temei pe codicon-uri în vizualizările arborescente personalizate.

Vedere arbore cu culori pictograme

Sincronizare stare globală#

Extensiile își pot sincroniza acum starea globală furnizând cheile, ale căror valori ar trebui sincronizate atunci când Sincronizarea setărilor este activată, utilizând noul introdus setKeysForSync API în globalState memento.

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

Vizibilitatea butonului de răspuns al firului de comentarii#

Comentariu extensiile pot controla acum vizibilitatea butonului de răspuns într-un fir de comentarii cu o nouă proprietate, CommentThread#canReply. Când este setat la false, utilizatorii nu vor vedea butonul de răspuns sau caseta de comentarii în firul de comentarii.

API-uri de extensie propuse#

Fiecare etapă vine cu noi API-uri propuse, iar autorii extensiilor le pot încerca. Ca întotdeauna, dorim feedback-ul dvs. Iată ce trebuie să faceți pentru a încerca un API propus:

  • Trebuie să utilizați Insiders, deoarece API-urile propuse se modifică frecvent.
  • Trebuie să aveți această linie în package.json fișierul extensiei dvs.: "enableProposedApi": true.
  • Copiați cea mai recentă versiune a vscode.proposed.d.ts fișier în locația sursă a proiectului.

Nu puteți publica o extensie care utilizează un API propus. În următoarea ediție pot apărea modificări radicale și nu dorim niciodată să întrerupem extensiile existente.

Furnizorii de rabat pliabil schimbă evenimentul#

Furnizorii de intervale pliabile pot semnala editorului că intervalele de pliere trebuie actualizate folosind onDidChangeFoldingRanges eveniment.

Pentru mai multe detalii și pentru a oferi feedback, vă rugăm să utilizați problema #108929.

API-uri pentru parole#

Ca parte a lucrărilor continue asupra Furnizori de autentificare, am introdus API pentru stocarea și preluarea informațiilor sensibile. În interior, acesta acționează ca un înveliș al keytar biblioteca pe care VS Code o folosește pentru stocarea secretelor.

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

Inginerie#

Asigurarea conformității Microsoft VS Code Trusted Types#

Am continuat efortul de a face VS Code „Trusted Types” compatibil. Scopul este de a preveni vulnerabilitățile de scripting încrucișat bazate pe DOM. Puteți afla mai multe despre tipurile de încredere pe web.dev Site-ul Tipuri de încredere și urmăriți progresul nostru în problema #103699.

Sursa: Microsoft

Mai multe despre subiecte: microsoft, Visual Studio Code 1.51, Codul VS

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *