Project Groups
From Free Pascal wiki
Install
The package is available since Lazarus 1.5.
- Go to Package > Install/Uninstall Packages.
- Search in Available for installation for lazprojectgroups.
- Select it.
- Click on "Install selection".
- Save and rebuild IDE. The IDE will ask for confirmation, then build the package, link it in and restart the IDE.
Features
Menu items
- New project group - creates a new project group with the active project as target.
- Open project group - opens a dialog to select an .lpg file
- Open recent project group - list of recently opened groups
- Save project group - same function as the editor Save button.
- Saves project group as - same function as the editor More / Save As button.
Editor
- Save - saves the .lpg including the .lpg files of nested project groups.
- Add project(s) *.lpi
- Compile one or more build modes - if the project and build mode is active it calls the IDE function, otherwise it uses lazbuild to compile the project. lazbuild automatically compiles outdated packages used by the project.
- Open, double click - this opens the project in the IDE (closing the currently active).
- Settings - as open, except it also opens the Project Options.
- Run - this loads the project in the IDE
- Add package(s) *.lpk
- Compile - Compile using lazbuild. It uses lazbuild to compile a package in order to build independent of any project. It uses the target OS and CPU of lazbuild. lazbuild automatically compiles outdated packages used by the package.
- Open, Settings and double click - opens the package editor of the package.
- Add Pascal file *.pas;*.pp;*.p
- Compile - builds the file using the IDE directives.
- Run - runs the file using the IDE directives.
- Settings - opens the dialog to setup the IDE directives for Build and Run.
- Add Project Group *.lpg
- You can nest project groups.
- You can add targets multiple times. For example add ProjectA with build mode Debug, then ProjectB, the ProjectA with build mode Release.
- Compile from here - compiles this target and all targets below.
- Earlier - moves the target one position up
- Later - moves the target one position down
- Remove - removes target from the list and puts it into removed targets.
- Double click on a removed target opens the project, package, Pascal file
- When you select a removed target and click Add the target is moved back to the project group at last position.
- More / Save As - saves the project group as a different file.
- Shows files and dependencies or project and packages.
- Reload - reloads the current .lpg, rebuilding the whole tree.
Bugs / ToDos
- Not yet updating menu items enabled state.
- Changes in the IDE are not yet updating the project group editor. After altering should click Reload.
- Changes on disk does are not yet recognized. Use Reload.
- Show active build mode, active project
- find in files
- "New" button to create a package/project/file and add to project groups
- clean function, like the Run / Clean up and build dialog
- drag and drop within the editor
- reorder targets
- move targets between sub groups
- move file to another project/package
- save session in project group, allowing to quickly switch the active project
- load sub projects in IDE to use code navigation for files not in the active project
- find references in files