Visual Studio Code: modifiche ai file con aggiornamento automatico


100

Lavorare con Visual Studio Code Ho notato che se un file su cui stai lavorando cambia, ogni volta che quel file viene focalizzato in un pannello del codice verrà ricaricato dal disco (se non hai modifiche nel file tramite VSCode) .

Tuttavia, se ti trovi su quel file, non viene visualizzato alcun avviso per avvisarti delle modifiche al file.

Ho rivisto le impostazioni e non riesco a trovare nulla di simile all'opzione studio visivo:

Rileva quando il file viene modificato al di fuori dell'ambiente

Quindi la mia domanda: c'è qualche impostazione nascosta o qualche trucco per far accadere quell'avvertimento.

Aggiornare

Risolto nella versione 0.3.0 di Visual Studio Code.

  1. Il file verrà aggiornato dal disco se non ci sono modifiche tramite l'editor. (molto utile per leggere i file di registro durante l'esecuzione di un processo)
  2. Se ci sono modifiche su entrambi i lati (dal disco e tramite l'editor) ogni volta che proverai a salvare il file usando VSCode, l'editor ti avviserà della situazione (es. "Scritture sporche") e un confronto dei file ti permetterà di decidere Cosa fare.

1
se hai modifiche, perché NON le vorresti?
John Papa

12
@JohnPapa sto cercando di ottenere lo stesso comportamento che trovo nello studio visivo o nel testo sublime. Se non ho modifiche tramite l'IDE, il file sull'IDE dovrebbe essere aggiornato all'ultima versione dall'HDD. Se ho modifiche tramite l'IDE e anche al di fuori dell'IDE, dovrebbe essere visualizzato un avviso che avvisa di quella situazione. Qualcosa come "Il file xxx è cambiato sul disco. Vuoi ricaricarlo?"
Juan M. Elosegui

Vedi stackoverflow.com/questions/54995008/… e github.com/microsoft/vscode-docs/blob/vnext/release-notes/… per alcune modifiche a questo comportamento, inclusa la possibilità di impedire la notifica se lo desideri.
Marco

@johnPapa facile. Supponiamo che tu stia modificando un file pensando che fosse un file diverso. Improvvisamente te ne rendi conto e vuoi perdere i tuoi cambiamenti. O più pertinente, esegui il checkout di un altro ramo git. Quasi tutti gli altri editor come Notepad ++ diranno immediatamente "il file è cambiato sul disco. Vuoi ricaricare ?. Vscode non lo rileverà, e puoi apportare modifiche e salvare e finire per sovrascrivere il ramo sbagliato, il che è terribile. Può" Non credo di avere ancora questo problema nel 2020
Gostega

Risposte:


64

VSCode non aggiornerà mai il file se sono presenti modifiche in quel file che non sono state salvate su disco. Tuttavia, se il file è aperto e non ha modifiche, verrà sostituito con le modifiche su disco, questo è vero.

Non esiste attualmente alcun modo per disabilitare questo comportamento.


52
Altri editor hanno tutti questo. Alcuni file possono essere modificati accidentalmente dall'utente, ma ciò che l'utente vuole veramente è che gli venga detto che questo file è cambiato su disco e gli venga chiesto se desidera ricaricare, almeno tramite un pannello di notifica nell'editor.
Warren P

4
Altri editor potrebbero averlo, ma questo comportamento persiste anche quando si chiude e si riapre VSCode, il che è molto pericoloso se non ci si aspetta che ciò accada. Potresti avere 10 file aperti, tornare a VS2017 e poi tornare a VSCode 2 giorni dopo e fare 'salva tutto' .....
Simon_Weaver

6
@Ingemar Volevo davvero dare una possibilità a VSCode (non da ultimo per Angular intellisense) e forse passare da VS2017 a VSCode. Spesso apportavo una modifica a VSCode ma non la salvavo, quindi finivo per modificare lo stesso file in VS2017. Tornerei a VSCode e salverei di nuovo accidentalmente il file sulla mia modifica (anche dopo la chiusura / riapertura). In un paio di giorni il mio cambiamento è svanito almeno due volte e una volta ho finalmente capito perché per me era praticamente la fine di VSCode. Per lo meno VSCode dovrebbe avvisare quando si salva un file che è stato modificato esternamente da quando è stato aperto in VSCode.
Simon_Weaver

4
Questa risposta ha ora 3 anni, qualcuno ha aperto un problema a riguardo? Per favore, puoi pubblicare il link qui?
Fabio dice Reinstate Monica

19
File: Revert Filepuò essere utilizzato per ottenere nuovi contenuti dal disco.
Benjamin Pasero

27
{
    "files.useExperimentalFileWatcher" : true
}

in Codice -> Preferenze -> Impostazioni

Testato con Visual Studio Code versione 1.26.1 su Mac e vinci


3
Per me non funziona (VSCode 1.26.1 su Windows 10): quando un file viene modificato esternamente, se in Code non ci sono modifiche viene ricaricato silenziosamente, altrimenti non farà nulla e poi quando provo a salvare mi avviserà del conflitto, offrendosi di risolverlo confrontando le 2 versioni. Tutto ciò accade indipendentemente files.useExperimentalFileWatcher, poiché ho provato sia vero che falso e non ho visto alcuna differenza.
Fabio dice Reinstate Monica

5
Versione 1.28.2 (1.28.2) Code -> Preferences -> Settingse cerca "watcher" Seleziona la casella. Per me va bene.
Shanimal

2
Dannazione, mangia la CPU come un matto su Linux.
abhi1010

9
@WonJunBae Cosa fa questo? Fornisci una descrizione per questa funzione che stai raccomandando.
1,21 gigawatt

5
Impostazione di configurazione sconosciuta su VSCode 1.41.1
Josh Correia

1

SUPER-SHIFT-p > File: Revert File è l'unico modo

(dove SUPERè Commandsu Mac e Ctrlsu PC)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.