Visual Studio Code: Dosya değişikliklerini otomatik olarak yenile


101

Visual Studio Code ile Çalışma Üzerinde çalıştığınız bir dosyanın değişip değişmediğini fark ettim, bu dosya bir kod paneline odaklandığında diskten yeniden yüklenecektir (VSCode aracılığıyla dosyada değişiklik yapmadıysanız) .

Ancak, o dosyadaysanız, dosya değişiklikleri hakkında sizi uyaracak bir uyarı yoktur.

Ayarları gözden geçiriyorum ve görsel stüdyo seçeneği gibi bir şey bulamıyorum:

Dosyanın ortam dışında değiştirildiğini algıla

Öyleyse sorum: Bu uyarının gerçekleşmesi için herhangi bir gizli ayar veya bir hack var mı?

Güncelleme

Visual Studio Code'un 0.3.0 sürümünde çözüldü.

  1. Düzenleyicide herhangi bir değişiklik yoksa dosya diskten güncellenecektir. (bir işlem yürütme sırasında günlük dosyalarını okumak için çok kullanışlıdır)
  2. VSCode kullanarak dosyayı kaydetmeye çalıştığınızda her iki tarafta da (diskten ve düzenleyiciden) değişiklikler varsa, düzenleyici sizi bu durum hakkında uyarır (yani "kirli yazmalar") ve bir dosya karşılaştırması karar vermenize olanak tanır ne yapalım.

1
Eğer değişiklikleriniz varsa, neden onları istemezsiniz?
John Papa

12
@JohnPapa Görsel stüdyoda veya yüce metinde bulduğum aynı davranışı almaya çalışıyorum. IDE'de herhangi bir değişiklik yapmazsam, IDE'deki dosya HDD'den en son sürüme güncellenmelidir. IDE'de ve ayrıca IDE dışında değişikliklerim varsa, bu durum hakkında uyarı veren bir uyarı açılmalıdır. "Xxx dosyası diskte değişti. Yeniden yüklemek ister misin?"
Juan M. Elosegui

İsterseniz bildirimi engelleme yeteneği de dahil olmak üzere bu davranışta bazı değişiklikler için stackoverflow.com/questions/54995008/… ve github.com/microsoft/vscode-docs/blob/vnext/release-notes/… sayfalarına bakın .
Mark

@johnPapa kolay. Diyelim ki, farklı bir dosya olduğunu düşünerek bir dosyayı düzenliyorsunuz. Aniden bunu anlarsınız ve değişikliklerinizi kaybetmek istersiniz. Veya daha alakalı, farklı bir git şubesine bakarsınız. Notepad ++ gibi hemen hemen tüm diğer editörler hemen "dosya diskte değişti. Yeniden yüklemek ister misin? 2020'de hala bu sorunu yaşadığıma inanıyorum
Gostega

Yanıtlar:


65

Dosyada diske kaydedilmemiş değişiklikleriniz varsa VSCode dosyayı asla yenilemeyecektir. Ancak, dosya açıksa ve değişiklik yoksa, diskteki değişikliklerle değiştirilecektir, bu doğrudur.

Şu anda bu davranışı devre dışı bırakmanın bir yolu yoktur.


52
Diğer editörlerin hepsinde bu var. Bazı dosyalar kullanıcı tarafından yanlışlıkla değiştirilebilir, ancak kullanıcının asıl istediği, bu dosyanın diskte değiştiğinin söylenmesi ve en azından düzenleyicideki bazı bildirim bölmesi aracılığıyla yeniden yüklemek isteyip istemediklerinin sorulmasıdır.
Warren P

4
Diğer düzenleyiciler buna sahip olabilir, ancak bu davranış, VSCode'u kapatırken ve yeniden açarken bile devam eder; bu, olmasını beklemiyorsanız çok tehlikelidir. Açık 10 dosyanız olabilir, VS2017'ye geri dönebilir ve 2 gün sonra VSCode'a geri dönebilirsiniz ve 'tümünü kaydet' .....
Simon_Weaver

6
@Ingemar VSCode'a bir şans vermek istedim (en azından Angular intellisense için) ve belki de VS2017 ile VSCode arasında geçiş yapmak istedim. Sık sık VSCode'da bir değişiklik yapar, ancak kaydetmez, ardından aynı dosyayı VS2017'de değiştiririm. VSCode'a geri döndüm ve yanlışlıkla yaptığım değişiklik üzerine dosyayı yeniden kaydederdim (kapattıktan / yeniden açtıktan sonra bile). Sadece birkaç gün içinde değiştirdiğim en az iki kez ortadan kayboldu ve bir kez sonunda neden VSCode'un benim için neredeyse sonu olduğunu anladım. En azından VSCode, VSCode'da açılmasından bu yana harici olarak değiştirilmiş bir dosyayı kaydederken uyarmalıdır.
Simon_Weaver

4
Bu cevap artık 3 yaşında, bununla ilgili bir sorun açan oldu mu? Lütfen bağlantıyı buraya gönderebilir misiniz?
Fabio

19
File: Revert Filediskten taze içerik almak için kullanılabilir.
Benjamin Pasero

27
{
    "files.useExperimentalFileWatcher" : true
}

Kod -> Tercihler -> Ayarlar'da

Mac'te Visual Studio Code Sürüm 1.26.1 ile test edildi ve Win


3
Benim için çalışmıyor (Windows 10'da VSCode 1.26.1): bir dosya harici olarak değiştirildiğinde, Kodda herhangi bir değişiklik yoksa sessizce yeniden yüklenir, aksi takdirde hiçbir şey yapmaz ve sonra kaydetmeye çalıştığımda beni uyuşmazlık konusunda uyaracak ve 2 versiyonu karşılaştırarak çözmeyi teklif edecek. files.useExperimentalFileWatcherHem doğru hem de yanlışı denediğimden ve herhangi bir fark görmediğim için bunların hepsi ne olursa olsun oluyor .
Fabio, "Reinstate Monica" diyor

5
Sürüm 1.28.2 (1.28.2) Code -> Preferences -> Settingsve "izleyici" araması yapın Kutuyu işaretleyin. Benim için çalışıyor.
shanimal

2
Lanet olsun, bu CPU'yu Linux'ta deli gibi yiyor.
abhi1010

9
@WonJunBae Bu ne yapar? Lütfen tavsiye ettiğiniz bu özellik için bir açıklama yapın.
1.21 gigawatt

5
VSCode 1.41.1'de bilinmeyen yapılandırma ayarı
Josh Correia

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.