2010-09-26 23 views
14

Me han dicho que un espacio de trabajo de Eclipse es el equivalente de una solución de Visual Studio. Pero también me han dicho que las personas comúnmente usan un solo espacio de trabajo para todo su trabajo. ¿Son estas declaraciones aparentemente contradictorias correctas? En caso afirmativo, ¿cómo creamos y mantenemos el equivalente de múltiples soluciones VS en Eclipse?¿Cómo organizar "proyectos" y "soluciones" en Eclipse?

En segundo lugar, en el caso de VS, también controlo mis archivos de solución (.sln) en el control de fuente. En consecuencia, ¿debería o no debería verificar en la carpeta .metadata del espacio de trabajo de Eclipse?

Respuesta

10

No creo que el espacio de trabajo Eclipse sea equivalente a la solución VS. Un espacio de trabajo de Eclipse almacena una gran cantidad de metainformación sobre proyectos, su ubicación física (posiblemente dentro o fuera de la carpeta de espacio de trabajo), etc., e incluso la configuración del entorno de trabajo. No es una buena idea cargar esta información en el control de código fuente, ya que es posible que otro desarrollador use otras ubicaciones físicas para los proyectos, etc.

Existe un concepto similar en Eclipse para las soluciones (similar, no equivalente): Conjuntos de proyectos. Es solo una opción de GUI para agrupar sus proyectos en conjuntos. Estos conjuntos no se pueden ejecutar juntos, y solo están visibles en el navegador del proyecto.

Otra forma es crear varias carpetas de espacio de trabajo, y puede usarlas como una alternativa a las soluciones. El inconveniente de este enfoque es que, si personaliza el IDE (por ejemplo, al usar Preferencias o al definir ubicaciones de control de origen), estas personalizaciones deben realizarse en cada espacio de trabajo. Este problema se puede manejar usando la herramienta Workspace Mechanic (no lo he probado, pero puede migrar estas configuraciones).

4

La razón principal por la cual es mejor PARA MÍ tener un espacio de trabajo separado para un solo proyecto es el rendimiento y la lucidez. Con muchos proyectos dentro de un área de trabajo, tendría que cerrar los otros debido a los classpaths compartidos para la asistencia del editor. El editor usa classpaths de todos los proyectos para asistencia de contenido, búsqueda de jerarquía de clases, etc.

Eclipse anticipa que los proyectos abiertos están relacionados. Y cuando se utilizan gerentes de proyecto como Maven, un proyecto maven generalmente se divide en muchos pequeños proyectos de eclipse. Es simplemente una mejor práctica tener un espacio de trabajo separado para un proyecto. La segunda razón es que, por lo general, tendría que importar otro proyecto relacionado para ver cómo se hacen las cosas y sería un desastre terrible tenerlo todo en un solo espacio de trabajo.

Definitivamente no debe comprometer la carpeta .metadata en el control de código fuente. Usted solo compromete los proyectos dentro. Porque usted y los demás verificarán el proyecto solo en su propio espacio de trabajo. Pero se trata de si debe o no comprometer el archivo .project, porque es una versión personalizada y específica de eclipse, y cosas como la naturaleza del proyecto (java, spring, maven nature, etc.) pueden ser creadas por él mismo. Los archivos .classpath en el proyecto deben estar comprometidos con el control de origen, ya que especifican classpaths, sería muy lento configurarlo de nuevo.

+0

Un espacio de trabajo es simplemente un conjunto de proyectos edificables con los que alguien está trabajando. Usar un espacio de trabajo separado por proyecto puede ser dañino, como lo es una declaración general de que es una mejor práctica para todos los casos. –

+0

Si me votó negativamente, al menos revele el secreto de por qué tener un espacio de trabajo separado por proyecto puede ser perjudicial. Estoy usando eclipse 4 años todos los días, sé de lo que estoy hablando. El único hecho cierto es que no tener espacio de trabajo separado por proyecto más grande puede ser perjudicial ... si sabes cómo sincronizar fácilmente la configuración. – lisak

1

Puede agrupar sus proyectos en diferentes espacios de trabajo o en un área de trabajo en particular. No puede ser dañino una vez que administres tu configuración correctamente.

Cuestiones relacionadas