I generatori creano o modificano risorse dello spazio di lavoro, servendosi solitamente di altre risorse. Si tratta di potenti meccanismi che consentono di rafforzare i vincoli di alcuni domini. Ad esempio, un generatore Java converte file di origine Java (file .Java) in file di classe eseguibili (file .class), un generatore di collegamenti Web aggiorna i collegamenti a file i cui nomi o le cui posizioni vengono modificate, ecc. Non appena viene creata o modificata una risorsa, viene eseguito un generatore che consente di mantenere i vincoli. Non è necessario che la trasformazione sia univoca. Ad esempio, un singolo file .java può generare diversi file .class.
Esistono due diversi modi di operare rispetto alla generazione: in generazione automatica o con generazione manuale iniziata dall'utente.
Gli utenti che non necessitano di un controllo dettagliato sull'esecuzione delle generazioni possono attivare la generazione automatica. Con questa opzione attivata, le generazioni vengono eseguite dopo ogni serie di modifiche alle risorse (ad esempio, dopo il salvataggio di un file, l'importazione di uno ZIP, ecc.). La generazione automatica è efficiente poiché la quantità di lavoro effettuata è proporzionale alla quantità di modifiche eseguite. I vantaggi della generazione automatica consistono nel disporre sempre di risorse derivate (ad esempio, file .class Java) aggiornate. La generazione automatica può essere attivata o disattivata tramite l'opzione Genera automaticamente della pagina delle preferenze Generale > Spazio di lavoro.
Se l'utente richiede un maggiore controllo sull'esecuzione delle generazioni, è possibile disattivare l'esecuzione automatica delle generazioni ed eseguirle manualmente. Ciò risulta preferibile nei casi in cui l'esecuzione delle generazioni deve essere rimandata al termine di un'ampia serie di modifiche. In questo caso, non è vantaggioso eseguire la funzione di generazione automatica. La funzione di generazione può essere richiamata manualmente i vari modi, ad esempio, selezionando Generazione progetto dal menu di scelta rapida di un progetto.
Lo svantaggio della generazione manuale consiste nel fatto che i problemi generati per indicare gli errori di generazione diventano rapidamente obsolete. Inoltre, è importante ricordare di eseguire la generazione manuale prima dell'output di generazione (ad esempio, prima di eseguire il programma Java).
Le generazioni funzionano in modo incrementale in base a un precedente stato di generazione. Esse applicano le trasformazioni dei generatori configurati solo sulle risorse che hanno subito modifiche dopo l'elaborazione del precedente stato (ossia dopo l'ultima generazione). La generazione automatica utilizza sempre la generazione incrementale per ottenere una maggiore efficienza.
La cancellazione di una generazione (Progetto > Cancella) elimina tutti gli stati di generazione esistenti. La generazione che segue una cancellazione trasforma tutte le risorse in base a regole di dominio dei generatori configurati.
In base alle necessità dell'utente, le generazioni e le cancellazioni possono essere eseguite su un insieme specifico di progetti o sull'intero spazio di lavoro. Non è possibile generare specifici file e cartelle separatamente.