Eclipse kaynakları otomatik olarak yenileyebilir mi?


161

Eclipse (PyDev ile 3.4.2), yalnızca editörleri açık olan kaynakların senkronize olmadığı kabul edilen diğer IDE'lerden farklı olarak senkronize olmayan kaynaklar (IDE dışında düzenlenmiş dosyalar) ile ilgilenir . Eclipse'de herhangi bir kaynak senkronize olmayabilir.

Bu, Eclipse dışında herhangi bir dosya değiştikten sonra bir arama yaptığımda, açık düzenleyicileri olmasa bile dosyaların senkronize olmadığını belirten bir hata iletişim kutusu aldığım anlamına gelir. Anlayabildiğim kadarıyla, küresel bir yenileme komutu yok, bu yüzden hata iletişim kutusunda proje adlarını (birkaç projem var) okumak ve her biri için bir sağ tıklama + yenileme yapmak zorundayım.

Refresh AutomaticallyAyarı kontrol ettim Settings > General > Workspace, ancak bunun bir etkisi yok. Eclipse'in her zaman etkin olmayan kaynakları diskten yüklemesini sağlamanın bir yolu var mı?


Eclipse 3.7+ için güncel cevap 2. cevapta.
Paul Verest

Uzak sistem gezginini (RSE) kullanarak uzak dosyalarla bile senkronize edebilirsiniz
Christophe Roussy


@Boris, bu soru birkaç yıl önce soruldu. Diğer bir kopyası olarak işaretlenmiş olmalıdır bu one.
Glenn Slayden

Yanıtlar:


199

Bu sorun Eclipse 3.7'de (Indigo) düzeltilecektir. " Otomatik Olarak Yenile " sonunda kaynakları tekrar senkronize etse de, yenileme kancası yalnızca Windows için bulunur, bu nedenle Linux ve Mac OS'de dosya sistemini periyodik olarak yoklaması gerekir.

3.7'den itibaren yeni bir tercih var Settings > General > Workspace > Refresh On Access(Hafif Yenileme olarak da bilinir). Bu tercih Eclipse'in 'senkronize olmadıklarını' keşfettiğinde kaynakları otomatik olarak yenilemesine neden olur. Dosyaları açarken, okurken veya ararken, senkronizasyon dışı hataların oluşmasını önler.

Ayrıca bakınız: https://bugs.eclipse.org/303517


61
Bunun bir seçenek olduğu akılda kalır . Senkronize olmayan dosyalarımı hiç yenilemedim.
Christoffer Hammarström

18
:( Bir seçenek yapmak için uzun ve çok mücadele ettim. Haklısın, bu çılgınca.
James Blackburn

6
Ve bu seçeneğin Eclipse 3.8 / 4.2'de varsayılan olmasını istiyorsanız, burada oy verin: bugs.eclipse.org/340977
James Blackburn

5
IntelliJ IDEA kullanıyorum. Dosyaları kaydetme konusunda asla endişelenmem gerekmiyor, çünkü bunlar otomatik olarak kaydediliyor. Sadece çalışıyor. Bir dosya diskte değişirse IDE'de değişir. Bir çatışma olduğunda sizi uyarır ve farklılaşmanıza ve birleşmenize izin verir. Daha da kötüsü, Yerel Geçmişe sahiptir, böylece her zaman birkaç dakika önce geri dönebilirsiniz.
Christoffer Hammarström

1
@ ChristofferHammarström: Eclipse'nin yerel bir geçmişi de var: Dosya düzenleyicisini> Şununla karşılaştır> Yerel Geçmiş'i sağ tıklayın.
ccpizza

28

Proje Gezgini'nde proje düğümünü tıklatıp F5 tuşuna basıp sağ tıklatıp Yenile'yi seçerseniz, söz konusu proje için tüm kaynaklar yenilenecektir. Ayrıca, birden fazla projeye CTRL + tıklarsanız, aynı anda birden fazla projeyi yenileyebilmeniz gerekir.

Bir projeye tek bir tıklama, her şeyi seçmek için bir CTRL + A ve bir F5 tam olarak ihtiyacınız olanı yapmalıdır - her şeyi yenileyin.

Şansımı bulduğumda bunu test etmem gerekecek, ama inanıyorum ki geçmişte benzer sorunları bu şekilde aştım.


Bu cevabın rutin olarak oy kullanıldığını fark ettim. Sorunun Eclipse'in belirli bir sürümüne atıfta bulunduğunu belirtmek isterim: 3.4.2. James Blackburn'un cevabında belirtildiği gibi , Eclipse 3.7 Indigo sürümüne kadar senkronize olmayan kaynakları yenilemek için otomatik bir yöntem yoktu . Bu yanıtta açıklanan yöntem, 3.4.2 sürümünde (ve 3.7 Indigo'dan önceki herhangi bir sürümde) bunu başarmanın tek yöntemidir.


13
Herhangi biri kapalıysa, birden fazla seçilen projeyi yenilemenin işe yaramayacağını unutmayın - önce kapalı projelerin seçimini kaldırmanız gerekir. Alternatif olarak, Paket Gezgini'nde veya Gezgin görünümünde hiçbir proje seçilmediğinde F5 tuşuna basıldığında tüm açık projeler yenilenir (seçimi kaldırmak için ctrl tuşuna basıp boş alanı tıklatmak işe yaramaz).
Tom Clift

71
Kimseye suç yok, ama Eclipse'nin otomatik olarak bir şey yapmasını nasıl sağlayacağına dair bir soruya kabul edilen cevap neden manuel olarak nasıl yapılacağının bir açıklamasıdır?
Srekel

9
@Srekel Çünkü gönderme sırasında, @DNS'nin yapmak istediklerini yapmanın tek yolu buydu. @James Blackburn'un daha yakın tarihli cevabına dayanarak, bu soru ilk olarak gönderildikten sonra gerçekten bildirilen ve düzeltilen bir sorun vardı. Eclipse'in daha yeni sürümlerinde bu cevap doğru değil. Bununla birlikte, soru özellikle Eclipse 3.4.2'den bahsediyor - bu, soruda sunulan sorunun çözülme yöntemidir.
Thomas Owens

21

Eclipse IDE'de senkronizasyon sorunu yaygındır, bu nedenle bu seçeneği işaretlemeniz gerekir windows -> tercih -> Çalışma alanı -> yerel kancalar veya yoklama kullanarak yenileyin.


6
Bunun en azından Eclipse Mars'tan bu yana doğru cevap olduğuna inanıyorum.
Henno Vermeulen

1
Bu onay kutusu benim için Ubuntu 14.04 Eclipse 4.5 üzerinde çalışmıyor. Dış dosya değişikliği yapıldıktan sonra Eclipse bu dosyayı Eclipse'de açana veya Yenile yapana kadar görmez. Dolayısıyla tarayıcı .cssörneğin dosya güncellemesini görmez, örneğin sunucu uygulamasını eclipse'den çalıştırırken bu dosyayı harici düzenleyiciden güncellersem. Bunu düzeltmek için onay kutusunu gerçekten çalıştıran bu eklentiyi kullandım . Bu cevaba bakınız .
Ruslan Stelmachenko

Bu sürüm için çalışma seçeneğiNeon.3 Release (4.6.3)
Kimchi Man

Mac'teki Neon.3'te seçenek Tercihler> Genel> Çalışma Alanı> Yerel kancalar veya yoklama kullanarak yenile seçeneğindedir.
jmelvin

5

Genel bir yenileme var - paket gezgininde hiçbir şey (veya her şey) seçilmediğinde F5 tuşuna basın (veya boş alana sağ tıklayın ve Yenile'yi seçin). Tabii ki, büyük projeleriniz varsa bu oldukça uzun sürebilir.


Otomatik değil, çok etkilidir (+1).
loved.by.Jesus

5

Eclipse Helios, Tercihler> Genel> Çalışma Alanı'nda yerleşik bir yenileme özelliğine sahiptir. Otomatik derlemeleri devre dışı bıraktığınız yerdedir. Otomatik olarak yenile'yi seçin. Aynı işlevselliğe sahip bir eklenti Andrei Loskutov'un Filesync Eklentisidir. Güncelleme sitesi adresi: http://andrei.gmxhome.de/eclipse/ . Kurulum sırasında Eclipse 3.5-3.7 eklentileri> FileSync'i seçin.


4

Java 7'nin dosya sistemi kancaları için bir API'si olduğu göz önüne alındığında, yenilemenin Eclipse'de daha iyi ele alınabileceği düşünülebilir.

Düzenleme: Aslında, bu mekanizmayı kullanan bir eklenti var: https://github.com/psxpaul/EclipseJava7Refresher


Eklenti için teşekkürler. Bu olmadan Ubuntu'daki Eclipse'im, "Window-> Preferences-> General-> Workspace-> Yerel kancalar veya yoklama kullanarak yenile" etkin olsa bile dosyaların harici değişikliklerini görmez.
Ruslan Stelmachenko

3

Tutulma sitesine bir özellik isteği eklemelisiniz:

https://bugs.eclipse.org/bugs/

Güncel olmayan kaynakları otomatik olarak yenilemek için bir tercih eklemenin harika bir fikir olacağını düşünüyorum.


3

Eclipse'de küresel bir yenileme gerçekten eksik. Seçiminize dahil edilen projeleriniz kapalı ise, tüm projeleri seçip ardından yenileme (örn. F5) çalıştıran yukarıdaki prosedür çalışmaz. Bu, benim yaptığım gibi birçok projenizin 1 / 2'sini kapattıysanız, düzinelerce projenizle kendiniz Ctrl tuşunu basılı tutarak kendinizi bulursunuz. Bu oldukça acı verici. Eclipse'nin kapalı projeleri görmezden gelmesini diliyorum.


3

Global yenileme aslında eklenti olmadan ve çalışma alanınızdaki her projeyi seçmeden düz Eclipse'de bulunur.

Temel olarak proje kaşifinizdeki her şeyin seçimini kaldırmanız ve F5 tuşuna basmanız gerekir. Bunu yapmak için proje gezgininde seçilen kaynağa tıklayın ve F5 tuşuna basın.


2

Evet, Erişimde Yenileme uzun süredir gecikiyor ... buna ve benzeri sorgulamalara verilen yanıtlar genellikle büyük uzak projeler için zaman alabilen küresel otomatik yenilemenin etkinleştirilmesini önerdi. Aslında, Erişimde Yenile'nin orijinal (<3.x) varsayılan davranış olması gerektiğini söyleyenler var ...


2

Boş bir toplu iş dosyası yürüten yeni bir "harici araç" çalışma yapılandırması oluşturarak bunu çözmeyi başardım. Çalışma yapılandırmasında, tamamlandığında çalışma alanını yenilemesini sağlayabilirsiniz. Daha sonra 1) son harici araç çalıştırma yapılandırmasını (çalışma alanını yenileyerek), ardından 2) son hata ayıklama çalıştırma yapılandırmasını (uygulamamı çalıştırarak) yürüten bir Makro oluşturdum. "Konsolu ayır" seçeneğinin işaretini kaldırırsanız, tamamlanan harici araç girişi hata ayıklama penceresinde görünmez.



1

İçin çalıştırılması için bir seçenek yoktur otomatik yenileme dosyalarında

Window -> Preferences -> General -> Startup and Shutdown -> Refresh workspace on startup

Tutulmaya "yeni" bir başlangıç ​​yapmak için tıklayın. :)

Sürüm: Eclipse 4.12

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.