Eclipse: ¿Debería crear un espacio de trabajo para cada proyecto?

80

Simplemente me pregunto si es mejor poner todos mis proyectos de Eclipse en un espacio de trabajo o hacer un espacio de trabajo por cada proyecto. Solo soy un desarrollador en solitario, por afición más o menos, pero las aplicaciones que creo tienen versiones de producción que se ejecutan en trabajos cron bastante frecuentes, por lo que es casi como un entorno de producción amateur.

Los únicos problemas que he notado hasta ahora son para exportar archivos JAR, tengo el potencial de incluir archivos fuente de otros proyectos, lo que parece que podría complicarse.

Zombies
fuente
Descubrí que me funciona bien usar un espacio de trabajo para cada rama del código fuente. Si necesita estar en varios lugares en una rama determinada, puede ser útil tenerlos en espacios de trabajo separados también.
Thorbjørn Ravn Andersen

Respuestas:

29

Solía ​​mantener espacios de trabajo separados, pero me cansé de la dificultad de mantener los ajustes consistentes entre ellos. Ahora lo que hago es crear conjuntos de trabajo para diferentes proyectos y cambiar el conjunto de trabajo de la ventana actual para filtrar todo excepto en lo que quiero trabajar. Hasta ahora esto me ha funcionado bien.

Dado que cada proyecto puede tener múltiples conjuntos de trabajo, y el conjunto de trabajo de la ventana puede ser cualquier combinación de conjuntos de trabajo, es bastante fácil ver solo lo que desea en un momento dado de esta manera.

ColinD
fuente
Si este fuera yo, habría elegido esta como la respuesta correcta. Es muy fácil filtrar cosas usando conjuntos de trabajo de ventanas sin romper nada o tener que crear espacios de trabajo aquí y allá. Esto le ayuda a ver solo los proyectos relevantes y a concentrarse solo en lo que necesita.
steelmonkey
28

Creo espacios de trabajo de Eclipse alrededor de productos, porque para mí, un producto puede tener múltiples proyectos dentro de ellos, por ejemplo, tener bibliotecas centrales compiladas en un jar en un proyecto, esto es usado por otros proyectos.

En términos de entorno de producción, querrá productos que se ejecuten en diferentes estructuras de directorios, mucho más limpios de esa manera. Y en eclipse, el espacio de trabajo crea un directorio con el nombre del espacio de trabajo. Por lo tanto, cree espacios de trabajo basados ​​en productos / aplicaciones en lugar de uno o más proyectos dentro de ellos.

omermuhammed
fuente
1
¿Agrega todo el espacio de trabajo al control de código fuente como una importación / registro inicial raíz?
Zombies
4
Por lo general, no agregamos espacios de trabajo o archivos de proyectos de eclipse al control de código fuente, sino que solo agregamos código y activos del proyecto. El objetivo aquí es que, siempre que el código fuente se compile y se ejecute en el sistema de compilación nocturno, un desarrollador puede personalizar su espacio de trabajo como lo crea conveniente.
omermuhammed
1
¿Qué pasa cuando actualiza Eclipse? ¿Crea un nuevo espacio de trabajo e importa el proyecto? (Quizás esta debería ser una nueva pregunta ...) Pregunto, porque me encontré con problemas después de actualizar desde Indigo, Helio, Juno, ahora Kepler, así que creo un nuevo espacio de trabajo para cada uno. Muy inconveniente.
dfdumaresq
3
Cuando actualice Eclipse, haga una copia de seguridad de su espacio de trabajo en una carpeta separada e intente abrir el espacio de trabajo existente con un nuevo Eclipse (creo que Kepler es el último). Si funciona bien, entonces es bueno para el desarrollo normal; de lo contrario, puede crear un nuevo espacio de trabajo para la nueva versión de eclipse. Los problemas que usted ha mencionado, depurar cuidadosamente y asegurarse de que son cuestiones de eclipse vs. problemas de configuración del espacio de trabajo, por ejemplo caminos Hardcoded etc.
omermuhammed
6

Si los proyectos están interrelacionados (es decir, tienen dependencias entre sí), a menudo tiene sentido tenerlos en el mismo espacio de trabajo. Además, si está trabajando en varios proyectos para resolver un problema relacionado, se aplica lo mismo.

De lo contrario, perderá mucho tiempo cambiando los espacios de trabajo innecesariamente, especialmente cuando el IDE le mostrará inmediatamente el impacto que los cambios en un proyecto tienen sobre otro.

Robin
fuente
6

No solo mantengo espacios de trabajo separados para cada proyecto, sino que también guardo copias separadas de Eclipse. Esto se debe a que normalmente tengo que congelar proyectos durante largos períodos y volver a ellos (sin previo aviso) y es absolutamente necesario que se construyan. No puedo correr el riesgo de que algún complemento que he instalado para mi último proyecto (basado en maven) interfiera con el proceso de compilación de uno de los sistemas heredados (basado en hormigas). Para que conste , documenté el entorno de eclipse para esos sistemas heredados, pero no tengo tiempo para meterme con eclipse cuando parcheo un error de producción.

Chris Nava
fuente
3

Usaría espacios de trabajo separados para diferentes "grupos" de proyectos. Por ejemplo, es posible que desee combinar su proyecto de aplicación principal Y el proyecto de prueba unitaria juntos en el mismo espacio de trabajo.

Bryan Denny
fuente
Interesante ... De hecho, puse la carpeta de origen de la prueba unitaria en el mismo proyecto.
Zombies
@Zombies: por ejemplo, tengo un proyecto de Android y un proyecto de prueba de Android en el mismo espacio de trabajo. El proyecto de prueba solo necesita una referencia a la aplicación real.
Bryan Denny
3

Tal vez tenga mala suerte, pero Eclipse a menudo (una vez al mes, digamos) muere al inicio, generalmente en la etapa "Inicializando herramientas de Java". La solución recomendada parece ser la de crear un nuevo espacio de trabajo. Si tiene todos sus proyectos en un espacio de trabajo, esto puede ser un fastidio. Creo que los espacios de trabajo más pequeños pueden significar que es menos probable que ocurra el bloqueo.

John
fuente
Buen punto, me arriesgo a corromper todo de esta manera. Es casi como un ecosistema de código vivo que respira.
Zombies
2
Estás usando el control de versiones, ¿no?
meriton
Podría estar bien para algunos. La banda ancha en Australia está una década por detrás del mundo 'desarrollado' ...
John
6
No necesita acceso a Internet para tener control de versiones, especialmente si usa algún sistema distribuido como git o mercurial.
Bad Sector
3

Como las Preferencias son específicas del espacio de trabajo, tiendo a tener un espacio de trabajo enorme abierto; soy demasiado vago para sincronizar algunas configuraciones entre espacios de trabajo (por ejemplo, repositorios ...).

Por otro lado, tener demasiados proyectos abiertos en un solo espacio de trabajo puede ralentizar Eclipse, por lo que lo mínimo que tengo que hacer es cerrar los proyectos con los que no estoy trabajando. Administro muchos proyectos relativos a corto plazo (como máximo un mes) en Eclipse, que residen en el mismo espacio de trabajo (y en la mayoría de los casos en el mismo repositorio), por lo que esta configuración me brinda una mayor flexibilidad.

Si tiene varios proyectos interrelacionados, manténgalos en el mismo espacio de trabajo. Si puede identificar un grupo de proyectos, que siempre se usan juntos, pero los grupos se usan de forma independiente, coloque esos conjuntos de proyectos en diferentes espacios de trabajo. En ese caso, esa debería ser la estructura lógica.

Zoltán Ujhelyi
fuente
1
Este es mi enfoque también. Mantengo solo un espacio de trabajo para todos mis proyectos Java. Un par de ellos dependen de otros proyectos, así que eso es útil, y tengo conjuntos de trabajo para cada uno. Sin embargo, tiendo a cerrar aquellos con los que no estoy trabajando activamente, lo que hace que las cosas sean más manejables.
elduff
3

Tenemos una situación en la que tenemos varios proyectos, algunos en sucursales, lo cual, francamente, es demasiado impráctico para mantenerlo en el mismo espacio de trabajo, y los conjuntos de trabajo son una broma. Desafortunadamente. Además, tener proyectos abiertos que no utilice, puede que se elijan accidentalmente de los menús de finalización, etc. Propenso a errores.

La característica realmente ingeniosa para nosotros fue cuando se agregaron Equipo -> Conjuntos de proyectos (en Eclipse 3.3, creo), ya que esto nos permitió tener un solo archivo que describe los muchos proyectos que componen la aplicación completa, que se puede importar en Eclipse con Team -> Importar. ¿Necesitas un proyecto determinado? Compruébelo en CVS, localice el archivo projectSet.psf dentro de él e importe ESO.

Esto ha demostrado funcionar bien para nosotros.

Thorbjørn Ravn Andersen
fuente
Tenga en cuenta que desde entonces hemos migrado a maven, lo que hace que sea mucho más fácil administrar varios proyectos entrelazados.
Thorbjørn Ravn Andersen
3

Tengo un espacio de trabajo por tipo de proyecto. Por ejemplo: Java simple, aplicación web, Python, etc.

La razón es que puedo compartir bibliotecas que son similares sin copiarlas ni señalarlas. Además, cierro los proyectos no relacionados de eclipse para evitar el desorden.

Vaishak Suresh
fuente
2

Tengo todos mis proyectos en un solo espacio de trabajo y uso conjuntos de trabajo para administrarlos.

Decir ah.
fuente
1

¡Depende de usted! Siempre he encontrado que mantener las versiones relacionadas de diferentes proyectos, que pertenecen a la misma versión en un espacio de trabajo determinado, es un enfoque más limpio. De esa manera, podría cambiar entre espacios de trabajo cada vez que necesite hacer referencia a algo en una versión separada y volver al espacio de trabajo de la versión actual. También me ahorra la molestia de pagar o navegar en el repositorio.

pugmarx
fuente
1

También es posible que desee tener en cuenta que puede abrir varias instancias de eclipse siempre que estén mirando diferentes espacios de trabajo. No estoy seguro si eso es importante para ti, pero me gusta hacerlo de vez en cuando.

Rob Goodwin
fuente
En OSX, cualquier paquete de aplicaciones abierto con el comando open (que es como lo hace Finder) solo permitirá una instancia en ejecución. Sin embargo, ejecute desde la línea de comando Eclipse.app/Contents/MacOS/eclipse, entonces puede tener varias copias en ejecución
mmmmmm
1

Me gusta usar varios espacios de trabajo desacoplados (que difieren según el tipo de proyecto), que importan proyectos de varias ubicaciones. Fácil de mover, sin crear un montón de espacios de trabajo similares. También funciona bien con mi SCM.

Rev316
fuente
1

¿Depende de cuántos proyectos trabajes? Si trabajas en muchos proyectos, usaría el mismo espacio de trabajo, porque si usas varios puedes olvidar fácilmente dónde está dónde y eso puede ser frustrante por decir al menos. Sin embargo, siempre uso un espacio de trabajo diferente para diferentes lenguajes de programación de esa manera es menos confuso, cuando estás en el espacio de trabajo de JAVA, piensas que JAVA: D

hormiga
fuente