eclipse-platform / eclipse-platform/eclipse.platform

Support hierarchical project preferences

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

Descripción

Currently project preferences are stored in a folder named `.settings` this has the drawback that if one want to configure an aspect for a set of projects (e.g. formatter settings, compiler preferences, ...) one need to duplicate this (and keep them up to date) for each project. Also wen VCS comes into account the same files need to be versioned multiple times.

To mitigate this and given that most projects have some hierarchical nature (e.g the usual `/plugins/`) I'd like to propose the following enhancement (using `org.eclipse.jdt.core.prefs` as an example):

- Given there is a file `.settings/org.eclipse.jdt.core.prefs` nothing changes
- Given there is no file `.settings/org.eclipse.jdt.core.prefs` then first a file `.eclipse/org.eclipse.jdt.core.prefs` is searched and if found that is used, if that file is not found, the parent folder is checked for this until the root is reached
- If still no file is found `/.eclipse//org.eclipse.jdt.core.prefs` is searched as a last resort

This would allow to have a variety of different use cases:

1. In cases where a user chooses to "enable project specific settings" for certain settings, one could add a new option to not store it in the *project* but in the *workspace*, e.g. if I want to prevent the noise if I open a project that normally do not store eclipse preferences.
2. I might use this to enable some project specific settings for a set of projects e.g. by placing it in the `/plugins/.eclipse` folder.
3. I even configure some things on the root of the project e.g. placing a `/.eclipse/org.eclipse.core.resources.prefs` to force UTF-8 for the usual source folders.
4. ...

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Empieza por localizar el manejo existente de .settings/org.eclipse.jdt.core.prefs y el punto de entrada para la búsqueda de preferencias del proyecto. Compara ese comportamiento con la jerarquía .eclipse propuesta y el fallback del workspace; se considera terminado cuando el orden de búsqueda documentado funciona sin cambiar el comportamiento existente de las preferencias locales del proyecto.

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

Evaluación

Stack tecnológico
java
Área
tooling
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.