eclipse-platform / eclipse-platform/eclipse.platform

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

Abierto
#299 17 comentarios 0 reacciones 0 asignados Ver en GitHub
future ideas
Lenguaje dominante
Java
Estrellas
165
Forks
174
Merge medio
2 d 8 h
PR fusionados (30 d)
22

Descripción

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).

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza revisando resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/refresh/win32/Win32Monitor.java y los proveedores de refresh circundantes; después, lee la API WatchService de Java. Traza cómo se habilita actualmente el refresh y determina dónde encaja un proveedor independiente de la plataforma. La tarea estará terminada cuando el refresh basado en NIO esté disponible y habilitado de forma predeterminada en los sistemas operativos compatibles, con MacOS excluido.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
operating-systems
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
32/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.