2009-10-11 32 views
33

he notado que eclipse recientemente crea un directorio .settings con 1 archivo adentro y me pregunto si debería agregar esto al control de versiones? SVN?¿Por qué eclipse crea un directorio .settings?

también, ¿es este nuevo? He estado usando eclipse por bastante tiempo, pero nunca lo noté.

el contenido del archivo en el directorio es la siguiente:

#Sun Oct 11 14:57:03 CEST 2009 
eclipse.preferences.version=1 
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 
org.eclipse.jdt.core.compiler.compliance=1.6 
org.eclipse.jdt.core.compiler.debug.lineNumber=generate 
org.eclipse.jdt.core.compiler.debug.localVariable=generate 
org.eclipse.jdt.core.compiler.debug.sourceFile=generate 
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 
org.eclipse.jdt.core.compiler.source=1.6 

shouldnt estos ajustes sean en todo el espacio de trabajo y no de proyectos específicos?

+1

Buena pregunta. Creo que es un nombre un poco tonto para Eclipse para elegir. ¿Qué pasa si ya tenemos un directorio para eso en nuestro proyecto? La mayoría de las aplicaciones usan su propio nombre; p.ej. '.svn',' .git', '.hg' No sé por qué no' .eclipse'. –

+0

@JW. Supongo que Eclipse eligió el nombre '.settings' en lugar de' .eclipse' porque quieren que otros IDEs sigan esta práctica. – smwikipedia

Respuesta

22

Este archivo registra las configuraciones específicas del proyecto frente a las preferencias del espacio de trabajo.

Me di cuenta de que este archivo generalmente se crea cuando se convierte un proyecto de Java normal a un proyecto de Java EE.

La única vez que me gustaría comprobar en este archivo es cuando la configuración del compilador/advertencia del proyecto son diferentes de la configuración del espacio de trabajo por defecto.

Este puede ser el caso cuando algunos proyectos heredados no se pueden compilar con el último y mejor compilador de java, o cuando el código fuente generado por un tercero produce muchas advertencias que son benignas pero contaminan su vista Problems.

Si va a utilizar una configuración específica del proyecto, a continuación, comprobar definitivamente este archivo. De lo contrario borrarlo.

+0

Si su sistema de control de versiones admite hacer que el archivo sea grabable (Tipo de archivo en Perforce), entonces puede que desee hacerlo. De lo contrario, con la ventana Error Log up, veo (tenemos un proyecto llamado Common): No se pudo escribir en el archivo de solo lectura "/Common/.settings/language.settings.xml". – Technophile

2

Esas son configuraciones específicas del proyecto para eclipse. No es necesario que los incluya en svn, ya que cada eclipse de usuarios los creará cuando finalicen el proyecto, o incluso pueden usar otro IDE y no los necesitan. Si usted es el único que usa el proyecto, no importará si los incluye.

+14

Personalmente, no estoy de acuerdo con esto. Si tiene una política, por ejemplo, de solo admitir Java 5 (o 1.4, etc.), * no * quiere que los desarrolladores anulen estas configuraciones. Desea verificar los archivos y poder rastrear los cambios en ellos. –

+2

si alguien realmente los comprueba en el control de versiones, se produce un dolor si se utilizan vcs como clearcase que los archivos de mandatos deben ser de solo lectura. A Eclipse realmente no le gusta que los ajustes sean de solo lectura. Solo una palabra de advertencia ... – eis

+0

Supongo que Eclipse eligió el nombre '.settings' en lugar de '.eclipse' porque quieren que otros IDE sigan esta práctica. – smwikipedia

12

La carpeta .settings es utilizado por varios plugins para establecer 'Propiedades' persistentes en oposición a 'Preferencias' para especificar la configuración de proyectos específicos que deben ser preservados.

Este suele ser un directorio que definitivamente desea comprobar en svn/cvs/git, etc., ya que garantizará que todos los usuarios que controlen ese proyecto en eclipse utilicen la configuración específica del proyecto correcta.

En nuestro caso, lo utilizan para suministrar una versión mínima de 5 compilador ya que algunos desarrolladores están en Java 5 frente a 6, etc, pero queremos que las cosas compilados a 5 para nuestros servidores. También lo usamos para aplicar algunos estándares de codificación y auto formateadores, lo que hace que las versiones sean mucho más fáciles de leer.

En su caso específico que ha seleccionado 'Habilitar configuración de proyecto específicos' bajo "Propiedades-> compilador de Java" haciendo clic derecho sobre el proyecto y las propiedades de la elección.

+0

Esta respuesta es mejor que la elegida en mi humilde opinión. – smwikipedia

+0

Gracias, muy buena respuesta. –

+0

Si su sistema de control de versiones admite hacer que el archivo sea grabable (Tipo de archivo en Perforce), entonces puede que desee hacerlo. De lo contrario, con la ventana Error Log up, veo (tenemos un proyecto llamado Common): No se pudo escribir en el archivo de solo lectura "/Common/.settings/language.settings.xml". – Technophile

Cuestiones relacionadas