delphi refactoring folder delphi-xe directory-structure

¿Cómo reorganizar la estructura de carpetas de mis unidades en Delphi?



refactoring folder (4)

Comencé un prototipo con Delphi con todos los archivos fuente bajo un único directorio .
Ahora, quiero reorganizar todo con carpetas .

Encontré dos formas de hacer esto.

1 / Primero es abrir cada unidad en Delphi IDE y Save as la nueva carpeta. Luego borre el archivo de la unidad anterior.

2 / En Windows Explorer, reorganice todo, luego abra el proyecto en Delphi IDE, elimine la referencia a unidades antiguas (desconocidas) y luego agregue las carpetas de cada unidad por carpeta.

Como tengo más de 100 unidades, es realmente doloroso, sea cual sea el método que use (1 o 2).
¿Cómo estás haciendo tal reorganización? ¿Extrañé una característica?


¿Realmente necesita que se nombren más de 100 unidades en el proyecto? ¿No son algunas de ellas simplemente funciones comunes que podrían colocarse en una carpeta en la ruta de búsqueda? Elimine todas las unidades del proyecto que se necesiten con menos frecuencia y colóquelas en carpetas para adaptarlas a su lógica. El IDE los encontrará, y también puede hacer clic con el botón derecho en abrirlos en el IDE cuando lo necesite, sin que se los nombre en el proyecto con una ruta fija.


La forma más simple es:

  1. Copie los archivos del proyecto a las carpetas donde quiere que estén;
  2. Edite el proyecto * .dpr para eliminar todo in .. ;
  3. Edite las opciones del proyecto y añada rutas a las carpetas del proyecto para buscar la opción de ruta (no las opciones del proyecto IDE global, sino las opciones de su proyecto).

No revisé XE, pero en XE2 esto es bastante fácil de hacer dentro del IDE:

  • en caso de proyectos múltiples, todos los proyectos en un grupo de proyectos
  • en el gerente de proyecto para cada unidad
    • cambie el nombre de la unidad presionando F2 o use el menú contextual
    • al renombrar, coloque la subcarpeta delante del nombre de la unidad (p. ej., prueba / Unit1.pas)

El IDE moverá la unidad (eliminando la antigua) y promoverá este cambio en todos los proyectos del grupo de proyecto.


Solo segunda opción. Mueva los archivos a nuevos directorios usando TotalCommander, Windows Explorer, etc. Creo que el diseño de su fuente debería verse así:

myutils libs crypto database network

y luego agrega esos directorios:

myutils;libs/crypto;libs/database;libs/network

a su Unit Search Path