VS Code 1.51 rilasciato con miglioramenti delle schede bloccate e altro
Visual Studio Code è un'app popolare per gli sviluppatori. È un editor di codice ridefinito e ottimizzato per la creazione e il debug di moderne applicazioni web e cloud. VS Code viene fornito con una varietà di estensioni e helper che fanno davvero risparmiare tempo. È disponibile per tutte le principali piattaforme, inclusi Windows, MacOS e Linux. Microsoft ha rilasciato oggi una nuova versione dell'app che apporta miglioramenti a varie funzionalità dell'app, tra cui schede bloccate, integrazione con GitHub e molto altro.
Il codice VS 1.51 è degno di nota per le seguenti modifiche.
Nota: puoi scaricare l'app dal suo sito web ufficiale.
banco di lavoro
Schede appuntate più evidenti
Le schede bloccate ora mostreranno sempre la loro icona a forma di puntina, anche se inattive, per facilitarne l'identificazione. Se un editor è bloccato e contiene modifiche non salvate, l'icona riflette entrambi gli stati.
Gli alberi di estensione usano il passaggio del mouse personalizzato
Invece di utilizzare il tooltip nativo nelle visualizzazioni dell'albero delle estensioni, ora utilizziamo un hover personalizzato che è coerente su più piattaforme e si adatta meglio all'esperienza utente generale.
Installa un'estensione senza sincronizzare
Ora puoi installare un'estensione senza sincronizzarla mentre la sincronizzazione delle impostazioni è abilitata.
Tema: Luce GitHub
Installa un'estensione da Explorer
VS Code ora supporta l'installazione di un file VSIX di estensione da Explorer facendo clic con il pulsante destro del mouse su un file VSIX e scegliendo il Installa estensione VSIX voce del menu contestuale.
Comando di sfocatura in ingresso
Un nuovo interno banco da lavoro.azione.sfocatura
è ora disponibile il comando, che rimuove lo stato attivo da qualsiasi input attivabile. Puoi assegnare una scorciatoia da tastiera per questo comando nel Preferenze scorciatoie da tastiera.
Terminale integrato
Eco locale
Apportare modifiche nel terminale richiede tradizionalmente che le informazioni vengano inviate al processo del terminale, elaborate e restituite a VS Code per essere interessate. Questo può essere lento quando si lavora su una connessione scarsa o distante con un server SSH o Codespace.
Questa versione aggiunge una modalità "eco locale" al terminale, che tenta di prevedere le modifiche e i movimenti del cursore effettuati localmente e mostrarli nell'interfaccia utente senza richiedere un round trip al server. Per impostazione predefinita, i caratteri previsti vengono visualizzati come "oscurati":
Ci sono due impostazioni che puoi usare per configurarlo:
-
terminal.integrated.localEchoLatencyThreshold
configura la soglia di ritardo rilevata, in millisecondi, alla quale si attiverà l'eco locale. Questo può essere impostato su0
per attivare sempre la funzione, oppure-1
per disabilitarlo. Il valore predefinito è30
. -
terminal.integrated.localEchoStyle
configura lo stile o il colore del carattere locale, il valore predefinito èdebole
.
IntelliSense
Suggerimenti ridimensionabili
Questa pietra miliare, abbiamo apportato diversi miglioramenti all'interfaccia utente dei suggerimenti. Innanzitutto, ora può essere ridimensionato. Trascina i lati o gli angoli per ridimensionare il controllo.
Tema: Luce GitHub, Carattere: FiraCode
La dimensione dell'elenco dei suggerimenti verrà salvata e ripristinata tra le sessioni. La dimensione del riquadro dei dettagli viene salvata solo per sessione, poiché tale dimensione tende ad essere più variabile. Anche il editor.suggest.maxVisibleSuggestions
l'impostazione è diventata obsoleta.
Barra di stato per suggerimenti
Il controllo dei suggerimenti ora può anche mostrare la propria barra di stato nella parte inferiore della finestra. Abilitalo usando il editor.suggest.showStatusBar
collocamento. Semplifica la commutazione dei dettagli e mostra se un completamento supporta l'inserimento, la sostituzione o entrambi.
Tema: Luce GitHub, Carattere: FiraCode
Nell'esempio sopra, selezionando "Inserisci" si ottiene Math.floorceil
e selezionando "Sostituisci" risultati in Math.floor
.
Il nuovo editor.suggest.insertMode
L'impostazione consente di configurare se si preferisce inserire o sostituire. Quando un suggerimento supporta entrambi, la tua preferenza sarà l'impostazione predefinita.
Sposta il cursore per selezionare i suggerimenti
Ultimo ma non meno importante, ora puoi spostare il cursore mentre vengono visualizzati i suggerimenti. Ad esempio, puoi attivare i suggerimenti alla fine di una parola, spostarti a sinistra per visualizzare altri suggerimenti e quindi utilizzare sostituisci per sovrascrivere la parola.
Tema: Luce GitHub
Emmet
Gli snippet personalizzati in Emmet sono tornati. Inoltre, gli snippet ora si aggiornano automaticamente al salvataggio del file degli snippet o all'aggiornamento del emmet.extensionsPath
collocamento.
Controllo della fonte
La casella di input del controllo del codice sorgente salva la cronologia dei messaggi di commit
Questo si rivolge a richiesta di funzionalità per navigare nella cronologia dei commit di SCM. premere ↑ (Windows, Linux Su) e ↓ (Windows, Linux Fuori uso) per visualizzare rispettivamente i commit precedenti e successivi. Per passare direttamente alla prima e all'ultima posizione della casella di immissione, premere Alt insieme al tasto freccia corrispondente.
Git: tagga i comandi nel sottomenu
I comandi Git relativi ai tag sono stati aggiunti a ... Menù git.
Git: comando Rebase
Una nuova Git: Rebase ramo... è stato aggiunto il comando che consente di eseguire il rebase di un ramo utilizzando l'interfaccia utente.
Git: comando clone ricorsivo
Con il Git: clone (ricorsivo) comando, ora puoi clonare ricorsivamente i repository Git, inclusi i relativi sottomoduli Git nidificati.
Timeline: rendering dello shortcode Emoji
Ora eseguiamo il rendering di shortcode emoji, come :Sorridi:
, nella vista Timeline.
Le lingue
Markdown selezione intelligente
Espandi e riduci la selezione nei documenti Markdown utilizzando i seguenti nuovi comandi:
- Espandere: ⌃⇧⌘→ (Windows, Linux Maiusc+Alt+Destra)
- Restringersi: ⌃⇧⌘← (Windows, Linux Maiusc+Alt+Sinistra)
La selezione si applica a quanto segue e segue un modello gerarchico tradizionale:
- intestazioni
- Elenchi
- Blocca virgolette
- Blocchi di codice recintati
- Blocchi di codice HTML
- paragrafi
Opzione di formattazione parentesi graffa vuota per JavaScript e TypeScript
Il nuovo javascript.format.insertSpaceAfterOpeningAndBeforeClosingVuotoBretelle
e typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
l'opzione di configurazione della formattazione controlla se gli spazi vengono inseriti tra parentesi graffe vuote. Il valore predefinito per queste impostazioni è true. Ad esempio, per JavaScript:
class Foo { doFoo() { } }
Collocamento "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
e formattando il codice si ottiene:
class Foo { doFoo() {} // Nota che lo spazio è stato rimosso. }
Supporto browser
Scarica le cartelle (Edge, Chrome)
Sfruttando il nuovo Accesso al file system API, VS Code in esecuzione in un browser può ora offrire un'azione di download per le cartelle da Esplora file per scaricare tutti i file e le cartelle su disco.
Nota: Ciò richiede una versione recente di Microsoft Edge o Google Chrome.
Notifica dell'area di lavoro aperta
Se apri una cartella che contiene .code-workspace
file al livello superiore, ora vedrai una notifica che ti chiede di aprirlo. Questo è sempre stato il caso in VS Code per desktop e ora funzionerà anche nel browser.
Prevenire la chiusura accidentale
Una nuova impostazione window.confirmBeforeClose
è stato aggiunto per mostrare una finestra di dialogo di conferma prima di chiudere o lasciare il workbench.
I valori possibili sono:
-
solo tastiera
La conferma verrà mostrata solo quando si utilizza una combinazione di tasti per chiudere (ad esempio, W (Windows, Linux Ctrl+W)). (predefinito) -
sempre
: La finestra di dialogo di conferma verrà sempre mostrata, anche se chiudi con un gesto del mouse. -
mai
: La conferma non verrà mai mostrata.
Nota: Questa impostazione potrebbe non coprire tutti i casi. I browser possono ancora decidere di chiudere una scheda o una finestra senza conferma.
Contributi alle estensioni
Richieste e problemi di pull di GitHub
Proseguono i lavori sul Richieste e problemi di pull di GitHub estensione, che consente di lavorare, creare e gestire richieste pull e problemi.
Per conoscere tutte le nuove funzionalità e gli aggiornamenti, puoi vedere la versione completa registro delle modifiche per la 0.22.0 rilascio della proroga.
Sviluppo a distanza
Proseguono i lavori sul Estensioni di sviluppo remoto, che consentono di utilizzare un contenitore, una macchina remota o il Sottosistema Windows per Linux (WSL) come ambiente di sviluppo completo.
I punti salienti delle funzionalità in 1.51 includono:
- Possibilità di persistere/riconnettersi alle sessioni del terminale.
- Esperienza di port forwarding migliorata.
Puoi conoscere le nuove funzionalità delle estensioni e le correzioni di bug nel Note sulla versione per lo sviluppo remoto.
Funzionalità di anteprima
Le funzionalità di anteprima non sono pronte per il rilascio, ma sono sufficientemente funzionali da essere utilizzate. Accogliamo con favore i tuoi primi feedback mentre sono in fase di sviluppo.
Sincronizzazione impostazioni
La sincronizzazione delle impostazioni ora sincronizza lo stato globale delle estensioni. Le estensioni dovranno fornire lo stato per la sincronizzazione utilizzando la nuova introduzione setKeysForSync API.
Ricorda le credenziali del proxy
Stiamo revisionando la finestra di dialogo di accesso che mostra quando una connessione di rete richiede l'autenticazione con un proxy. Una nuova impostazione, window.enableExperimentalProxyLoginDialog: true
, abiliterà questa nuova esperienza che prevediamo di rendere predefinita in una versione futura.
Tema: Luce GitHub
La finestra di dialogo apparirà all'interno della finestra di VS Code e offrirà un modo per ricordare le credenziali in modo da non doverle fornire ogni volta che si avvia VS Code. Le credenziali verranno archiviate nell'archivio credenziali standard del sistema operativo (portachiavi su macOS, Windows Credential Manager su Windows e portachiavi gnome su Linux).
Mostriamo ancora questa finestra di dialogo solo una volta per sessione, ma potremmo rivedere questa decisione in futuro. Vedrai apparire di nuovo la finestra di dialogo nel caso in cui le credenziali che hai selezionato per essere ricordate non siano valide. Fornirli di nuovo ti consente di cambiarli.
Abilita questa opzione e facci sapere se qualcosa non funziona come previsto tramite il nostro tracciatore di problemi.
Supporto per TypeScript 4.1 beta
VS Code supporta il TypeScript 4.1 beta e costruzioni notturne. L'aggiornamento 4.1 introduce alcune nuove funzionalità del linguaggio TypeScript, come il supporto per tipi condizionali ricorsivi, così come miglioramenti degli strumenti. Un'area di interesse è stata aggiungendo supporto iniziale per @vedere
tag nei commenti JSDoc.
Per iniziare a utilizzare le build notturne di TypeScript 4.1, installa semplicemente il Estensione TypeScript Nightly. Per favore condividi feedback e facci sapere se riscontri bug con TypeScript 4.1.
Creazione di estensioni
Campioni di estensione aggiornati
Abbiamo aggiornato alcuni dei nostri campioni di estensione per includere gli stili predefiniti di VS Code che sono collegati ai nostri token del tema colore. Ciò significa che gli elementi comuni (testo, pulsanti, input) saranno temibili e corrisponderanno agli stili predefiniti nel prodotto. Di seguito sono elencate le estensioni che includono questo:
- custom-editor-campione
- webview-campione
- webview-view-sample
Codicon colori negli alberi
Con la finalizzazione del Icona del tema
API del colore, gli autori di estensioni possono utilizzare i colori del tema sui codicon nelle visualizzazioni ad albero personalizzate.
Sincronizza stato globale
Le estensioni possono ora sincronizzare il loro stato globale fornendo le chiavi, i cui valori dovrebbero essere sincronizzati quando Settings Sync è abilitato, utilizzando la nuova introduzione setKeysForSync
API in stato globale
ricordo.
/** * Imposta le chiavi i cui valori devono essere sincronizzati tra i dispositivi durante la sincronizzazione dei dati utente * come configurazione, estensioni e ricordi. * * Nota che questa funzione definisce l'intero set di chiavi i cui valori sono sincronizzati: * - chiamandolo con un array vuoto interrompe la sincronizzazione per questo ricordo * - chiamandolo con un l'array non vuoto sostituisce tutte le chiavi i cui valori sono sincronizzati * * Per ogni dato insieme di chiavi questa funzione deve essere chiamata solo una volta ma non c'è alcun danno nel * chiamarla ripetutamente. * * @param keys L'insieme di chiavi i cui valori sono sincronizzati. */ setKeysForSync (chiavi: string[]): void;
Commento le estensioni possono ora controllare la visibilità del pulsante di risposta in un thread di commenti con una nuova proprietà, CommentThread#canReply
. Quando è impostato su falso
, gli utenti non vedranno il pulsante di risposta o la casella dei commenti nel thread dei commenti.
API di estensione proposte
Ogni pietra miliare viene fornita con nuove API proposte e gli autori di estensioni possono provarle. Come sempre, vogliamo il tuo feedback. Questo è ciò che devi fare per provare un'API proposta:
- È necessario utilizzare Insider perché le API proposte cambiano frequentemente.
- Devi avere questa riga nel
pacchetto.json
file della tua estensione:"enableProposedApi": true
. - Copia l'ultima versione di
vscode.proposed.d.ts
file nella posizione di origine del progetto.
Non puoi pubblicare un'estensione che utilizza un'API proposta. Potrebbero esserci modifiche sostanziali nella prossima versione e non vorremmo mai interrompere le estensioni esistenti.
I fornitori di gamma pieghevole cambiano evento
I fornitori di intervalli di piegatura possono segnalare all'editore che gli intervalli di piegatura devono essere aggiornati utilizzando il onDidChangeFoldingRanges
evento.
Per maggiori dettagli e per fornire feedback, utilizzare problema #108929.
API delle password
Come parte del continuo lavoro su Fornitori di autenticazione, abbiamo introdotto l'API per l'archiviazione e il recupero di informazioni sensibili. Internamente, questo funge da involucro del chiave di volta libreria che VS Code utilizza per memorizzare i segreti.
/** * Recupera una password che è stata memorizzata con key. Restituisce undefined se * non esiste alcuna password che corrisponda a quella chiave. * @param key La chiave con cui è stata memorizzata la password. */ funzione di esportazione getPassword (chiave: stringa): attivabile; /** * Memorizza una password sotto una data chiave. * @param key La chiave per memorizzare la password in * @param value La password */ funzione di esportazione setPassword (chiave: stringa, valore: stringa): attivabile; /** * Rimuove una password dalla memoria. * @param key La chiave con cui è stata memorizzata la password. */ funzione di esportazione deletePassword (chiave: stringa): attivabile; /** * Si attiva quando viene impostata o eliminata una password. */ export const onDidChangePassword: Event;
Ingegneria
Rendere compatibile VS Code Trusted Types
Abbiamo continuato a impegnarci per rendere conformi i "Tipi attendibili" di VS Code. L'obiettivo è prevenire le vulnerabilità di cross-site scripting basate su DOM. Puoi saperne di più sui tipi attendibili su web.dev Sito di tipi attendibili e segui i nostri progressi in problema #103699.