eclipse-platform / eclipse-platform/eclipse.platform

Create a RefreshProvider base on the NIO API and enable autorefresh for all operating systems except MacOS

Offen
#299 17 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
future ideas
Vorherrschende Sprache
Java
Sterne
165
Forks
174
Ø Merge
2 T. 8 Std.
Gemergte PRs (30 T.)
22

Beschreibung

Currently Eclipse do not refresh resources by default, and even if enabled, [only Win32 has support for native events](https://github.com/eclipse-platform/eclipse.platform/blob/master/resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/refresh/win32/Win32Monitor.java).

Java contains an own [platform independent API to watch local files systems](https://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html). We should reuse this whenever possible as it is likely better maintained, optimized and improved than everything we can offer ourself.

Given that [all operating systems except MacOS seem to support native events](https://github.com/eclipse-m2e/m2e-core/issues/1013#issuecomment-1302764470), we should even enable this by default (except for MacOS), one can even think about simply checking if `PollingWatchService` is used (e.g. by create a dummy one and check the classname).

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der Durchsicht von resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/refresh/win32/Win32Monitor.java und den umgebenden Refresh-Providern und lies anschließend die Java-API WatchService. Verfolge, wie Refresh derzeit aktiviert wird, und ermittle, wo ein plattformunabhängiger Provider eingesetzt werden kann. Die Aufgabe ist abgeschlossen, wenn Refresh auf NIO-Basis auf unterstützten Betriebssystemen verfügbar und standardmäßig aktiviert ist, wobei MacOS ausgeschlossen ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
operating-systems
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
32/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.