Kode Visual Studio: Auto-refresh file berubah

100

Bekerja dengan Visual Studio Code Saya telah memperhatikan jika file yang Anda kerjakan berubah, setiap kali file itu difokuskan di panel kode, itu akan dimuat ulang dari disk (jika Anda tidak memiliki perubahan dalam file melalui VSCode) .

Namun, jika Anda berada di file itu, tidak ada peringatan untuk memperingatkan Anda tentang perubahan file.

Saya telah meninjau pengaturan dan saya tidak dapat menemukan yang seperti opsi studio visual:

Mendeteksi ketika file diubah di luar lingkungan

Jadi pertanyaan saya: Apakah ada pengaturan tersembunyi atau beberapa peretasan untuk membuat peringatan itu terjadi.

Memperbarui

Diselesaikan dalam versi 0.3.0 dari Visual Studio Code.

  1. File akan diperbarui dari disk jika tidak ada perubahan melalui editor. (sangat berguna untuk membaca file log selama proses eksekusi)
  2. Jika ada perubahan di kedua sisi (dari disk dan melalui editor) ketika Anda mencoba menyimpan file menggunakan VSCode, editor akan memperingatkan Anda tentang situasi itu (yaitu "penulisan kotor") dan perbandingan file akan memungkinkan Anda untuk memutuskan apa yang harus dilakukan.
Juan M. Elosegui
sumber
1
jika Anda memiliki perubahan, mengapa Anda TIDAK menginginkannya?
John Papa
12
@JohnPapa Saya mencoba mendapatkan perilaku yang sama yang saya temukan di studio visual atau teks luhur. Jika saya tidak memiliki perubahan melalui IDE, file pada IDE harus diperbarui ke versi terbaru dari HDD. Jika saya memiliki perubahan melalui IDE dan juga di luar IDE, peringatan harus muncul untuk memperingatkan situasi itu. Sesuatu seperti "File xxx telah berubah pada disk. Apakah Anda ingin
memuatnya
Lihat stackoverflow.com/questions/54995008/… dan github.com/microsoft/vscode-docs/blob/vnext/release-notes/… untuk beberapa perubahan pada perilaku ini, termasuk kemampuan untuk mencegah pemberitahuan jika Anda mau.
Tandai
@johnPapa mudah. Katakanlah Anda telah mengedit file yang mengira itu adalah file yang berbeda. Anda tiba-tiba menyadarinya dan ingin kehilangan perubahan Anda. Atau yang lebih relevan, Anda melakukan pembayaran di cabang git yang berbeda. Hampir semua editor lain seperti notepad ++ akan segera mengatakan "file telah berubah pada disk. Anda ingin memuat ulang ?. Vscode tidak akan mendeteksinya, dan Anda dapat membuat perubahan dan menyimpan dan berakhir dengan menimpa cabang yang salah yang berakibat buruk. Bisa ' t percaya aku masih memiliki masalah ini pada tahun 2020
Gostega

Jawaban:

64

VSCode tidak akan pernah menyegarkan file jika Anda memiliki perubahan pada file itu yang tidak disimpan ke disk. Namun, jika file terbuka dan tidak ada perubahan, itu akan menggantikan dengan perubahan pada disk, itu benar.

Saat ini tidak ada cara untuk menonaktifkan perilaku ini.

Benjamin Pasero
sumber
52
Semua editor lain memiliki ini. Beberapa file mungkin secara tidak sengaja dimodifikasi oleh pengguna tetapi yang sebenarnya diinginkan pengguna adalah diberi tahu bahwa file ini telah berubah pada disk dan ditanya apakah mereka ingin memuat ulang, setidaknya melalui beberapa panel pemberitahuan di editor.
Warren P
4
Editor lain mungkin memiliki ini tetapi perilaku ini tetap ada bahkan ketika menutup dan membuka kembali VSCode yang sangat berbahaya jika Anda tidak mengharapkan hal itu terjadi. Anda mungkin memiliki 10 file yang terbuka, kembali ke VS2017 dan kemudian kembali ke VSCode 2 hari kemudian dan lakukan 'simpan semua' .....
Simon_Weaver
6
@Ingemar Saya benar-benar ingin mencoba VSCode (paling tidak untuk Angular intellisense) dan mungkin beralih antara VS2017 dan VSCode. Saya sering membuat perubahan dalam VSCode tetapi tidak menyimpannya, lalu akhirnya mengubah file yang sama di VS2017. Saya akan beralih kembali ke VSCode dan secara tidak sengaja menyimpan ulang file di atas perubahan saya (bahkan setelah menutup / membuka kembali). Hanya dalam beberapa hari, perubahan saya menghilang setidaknya dua kali dan setelah saya akhirnya menemukan mengapa itu adalah akhir dari VSCode bagi saya. Paling tidak VSCode harus memperingatkan ketika Anda menyimpan file yang telah diubah secara eksternal sejak dibuka di VSCode.
Simon_Weaver
4
Jawaban ini sekarang sudah berumur 3 tahun, apakah ada yang membuka masalah tentang ini? Bisakah Anda memposting tautan di sini?
Fabio mengatakan Reinstate Monica
19
File: Revert Filedapat digunakan untuk mendapatkan konten segar dari disk.
Benjamin Pasero
27
{
    "files.useExperimentalFileWatcher" : true
}

dalam Kode -> Preferensi -> Pengaturan

Diuji dengan Visual Studio Code Versi 1.26.1 di mac dan menang

Memenangkan Jun Bae
sumber
3
Itu tidak berfungsi untuk saya (VSCode 1.26.1 pada Windows 10): ketika file dimodifikasi secara eksternal, jika dalam Kode tidak ada perubahan, itu dimuat ulang secara diam-diam, jika tidak maka tidak akan melakukan apa-apa dan kemudian ketika saya mencoba untuk menyimpan itu akan memperingatkan saya tentang konflik, menawarkan untuk menyelesaikannya dengan membandingkan 2 versi. Semua ini terjadi terlepas dari files.useExperimentalFileWatcher, karena saya telah mencoba benar dan salah, dan saya belum melihat perbedaan apa pun.
Fabio mengatakan Reinstate Monica
5
Versi 1.28.2 (1.28.2) Code -> Preferences -> Settingsdan cari "pengamat" Centang kotaknya. Bekerja untuk saya.
Shanimal
2
Sial, itu memakan CPU seperti orang gila di Linux.
abhi1010
9
@WonJunBae Apa fungsinya? Tolong beri penjelasan untuk fitur yang Anda rekomendasikan.
1,21 gigawatt
5
Pengaturan konfigurasi yang tidak diketahui pada VSCode 1.41.1
Josh Correia
1

SUPER-SHIFT-p > File: Revert File adalah satu-satunya cara

(di mana SUPERadalah Commanddi Mac dan CtrlPC)

David 天宇 Wong
sumber